From 9662ad3c14cf9b51203f1de88a5b1e184000df2a Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 26 Jan 2021 14:56:07 -0500 Subject: [PATCH 001/242] Added start of service worker for offline use [#176557502] --- .github/workflows/ci.yml | 2 +- README.md | 4 +- cypress.json | 2 +- package-lock.json | 2078 +++++++++++++++++++++++++++++++++++--- package.json | 14 +- src/components/app.tsx | 60 +- src/portal-api.test.ts | 2 +- src/service-worker.ts | 18 + tsconfig.json | 3 +- webpack.config.js | 251 +++-- 10 files changed, 2166 insertions(+), 268 deletions(-) create mode 100644 src/service-worker.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 65454ff5..588c28cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: - uses: cypress-io/github-action@v2 with: start: npm start - wait-on: 'http://localhost:8080' + wait-on: 'http://localhost:11000' # only record the results to dashboard.cypress.io if CYPRESS_RECORD_KEY is set record: ${{ !!secrets.CYPRESS_RECORD_KEY }} # only do parallel if we have a record key diff --git a/README.md b/README.md index e3b1086a..835213fb 100644 --- a/README.md +++ b/README.md @@ -36,10 +36,10 @@ Testing this is complicated. Here is one approach: `https://activity-player.concord.org/branch/master/index.html?activity=https://authoring.staging.concord.org/api/v1/123.json` - create a new resource in learn staging using: https://learn.staging.concord.org/eresource/new - set the URL of this resource: - - replace the `activity-player.concord.org` with `localhost:8080` (or whatever your local server for the activity player is) + - replace the `activity-player.concord.org` with `localhost:11000` - add a new parameter `portal-report=https://localhost:8081` (or whatever your local server for the portal-report is) - the new url will be something like: - `https://localhost:8080?activity=https://authoring.staging.concord.org/api/v1/123.json&portal-report=https://localhost:8081` + `https://localhost:11000?activity=https://authoring.staging.concord.org/api/v1/123.json&portal-report=https://localhost:8081` - assign this resource to a class - run the resource as a student in this class diff --git a/cypress.json b/cypress.json index 5f7295e4..8458301b 100644 --- a/cypress.json +++ b/cypress.json @@ -1,5 +1,5 @@ { - "baseUrl": "http://localhost:8080", + "baseUrl": "http://localhost:11000", "viewportWidth": 1400, "viewportHeight": 1000, "video": false, diff --git a/package-lock.json b/package-lock.json index 55045432..32540dbb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -95,7 +95,6 @@ "version": "7.10.1", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz", "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==", - "dev": true, "requires": { "@babel/types": "^7.10.1" }, @@ -103,14 +102,12 @@ "@babel/helper-validator-identifier": { "version": "7.10.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", - "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==", - "dev": true + "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==" }, "@babel/types": { "version": "7.10.2", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.10.1", "lodash": "^4.17.13", @@ -120,8 +117,7 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" } } }, @@ -501,7 +497,6 @@ "version": "7.10.1", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz", "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==", - "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.10.1", "@babel/helper-regex": "^7.10.1", @@ -960,14 +955,12 @@ "@babel/helper-plugin-utils": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==" }, "@babel/helper-regex": { "version": "7.10.1", "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz", "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==", - "dev": true, "requires": { "lodash": "^4.17.13" } @@ -1201,6 +1194,36 @@ "@babel/types": "^7.8.3" } }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "requires": { + "@babel/types": "^7.12.1" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + } + } + }, "@babel/helper-split-export-declaration": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", @@ -1213,8 +1236,12 @@ "@babel/helper-validator-identifier": { "version": "7.9.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", - "dev": true + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==" + }, + "@babel/helper-validator-option": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" }, "@babel/helper-wrap-function": { "version": "7.10.1", @@ -1563,6 +1590,22 @@ } } }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + } + } + }, "@babel/plugin-proposal-json-strings": { "version": "7.10.1", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz", @@ -1581,6 +1624,22 @@ } } }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + } + } + }, "@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.10.1", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz", @@ -1703,7 +1762,6 @@ "version": "7.10.1", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz", "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==", - "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.10.1", "@babel/helper-plugin-utils": "^7.10.1" @@ -1712,8 +1770,7 @@ "@babel/helper-plugin-utils": { "version": "7.10.1", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz", - "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==", - "dev": true + "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==" } } }, @@ -1721,7 +1778,6 @@ "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -1756,11 +1812,18 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", @@ -1782,7 +1845,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -1808,7 +1870,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -1816,8 +1877,7 @@ "@babel/helper-plugin-utils": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" } } }, @@ -1825,7 +1885,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -1834,7 +1893,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -1842,8 +1900,7 @@ "@babel/helper-plugin-utils": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" } } }, @@ -1851,7 +1908,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -1860,7 +1916,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -1869,7 +1924,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -2278,7 +2332,6 @@ "version": "7.10.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz", "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==", - "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.10.1", "@babel/helper-plugin-utils": "^7.10.1" @@ -2287,8 +2340,7 @@ "@babel/helper-plugin-utils": { "version": "7.10.1", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz", - "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==", - "dev": true + "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==" } } }, @@ -4387,7 +4439,6 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", @@ -4423,7 +4474,6 @@ "version": "7.10.2", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz", "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==", - "dev": true, "requires": { "regenerator-runtime": "^0.13.4" }, @@ -4431,8 +4481,7 @@ "regenerator-runtime": { "version": "0.13.5", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" } } }, @@ -4494,7 +4543,6 @@ "version": "7.9.6", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz", "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==", - "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.9.5", "lodash": "^4.17.13", @@ -4504,8 +4552,7 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" } } }, @@ -5381,6 +5428,48 @@ "integrity": "sha512-i9YbZPN3QgfighY/1X1Pu118VUz2Fmmhd6b2n0/O8YVgGGfw0FbUYoA97k7FkpGJ+pLCFEDLUmAPPV4D1kpeFw==", "dev": true }, + "@hapi/joi": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", + "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", + "requires": { + "@hapi/address": "^2.1.2", + "@hapi/formula": "^1.2.0", + "@hapi/hoek": "^8.2.4", + "@hapi/pinpoint": "^1.0.2", + "@hapi/topo": "^3.1.3" + }, + "dependencies": { + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" + }, + "@hapi/formula": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz", + "integrity": "sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==" + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==" + }, + "@hapi/pinpoint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz", + "integrity": "sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==" + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "requires": { + "@hapi/hoek": "^8.3.0" + } + } + } + }, "@hapi/pinpoint": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.0.tgz", @@ -5857,6 +5946,77 @@ "resize-observer-polyfill": "^1.5.1" } }, + "@rollup/plugin-babel": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.2.2.tgz", + "integrity": "sha512-MjmH7GvFT4TW8xFdIeFS3wqIX646y5tACdxkTO+khbHvS3ZcVJL6vkAHLw2wqPmkhwCfWHoNsp15VYNwW6JEJA==", + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + } + } + }, + "@rollup/plugin-node-resolve": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", + "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" + } + }, + "@rollup/plugin-replace": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.3.4.tgz", + "integrity": "sha512-waBhMzyAtjCL1GwZes2jaE9MjuQ/DQF2BatH3fRivUF3z0JBFrU0U6iBNC/4WR+2rLKhaAhPWDNPYp4mI6RqdQ==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, "@samverschueren/stream-to-observable": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", @@ -5884,6 +6044,15 @@ "@sinonjs/commons": "^1.7.0" } }, + "@surma/rollup-plugin-off-main-thread": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz", + "integrity": "sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==", + "requires": { + "ejs": "^2.6.1", + "magic-string": "^0.25.0" + } + }, "@svgr/babel-plugin-add-jsx-attribute": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", @@ -6429,6 +6598,11 @@ "@types/enzyme": "*" } }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, "@types/glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.2.tgz", @@ -6660,6 +6834,14 @@ "@types/react": "*" } }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "requires": { + "@types/node": "*" + } + }, "@types/sinonjs__fake-timers": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz", @@ -7295,6 +7477,21 @@ "picomatch": "^2.0.4" } }, + "apache-crypt": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.4.tgz", + "integrity": "sha512-Icze5ny5W5uv3xgMgl8U+iGmRCC0iIDrb2PVPuRBtL3Zy1Y5TMewXP1Vtc4r5X9eNNBEk7KYPu0Qby9m/PmcHg==", + "dev": true, + "requires": { + "unix-crypt-td-js": "^1.1.4" + } + }, + "apache-md5": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.5.tgz", + "integrity": "sha512-sbLEIMQrkV7RkIruqTPXxeCMkAAycv4yzTkBzRgOR1BrR5UB7qZtupqxkersTJSf0HZ3sbaNRrNV80TnnM7cUw==", + "dev": true + }, "append-transform": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", @@ -7558,8 +7755,7 @@ "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, "atob": { "version": "2.1.2", @@ -7805,7 +8001,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, "requires": { "object.assign": "^4.1.0" } @@ -7980,8 +8175,7 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base": { "version": "0.11.2", @@ -8043,6 +8237,15 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -8058,6 +8261,12 @@ "tweetnacl": "^0.14.3" } }, + "bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=", + "dev": true + }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -8183,7 +8392,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -8479,8 +8687,7 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "buffer-indexof": { "version": "1.1.1", @@ -8494,6 +8701,11 @@ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, + "builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==" + }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", @@ -9784,8 +9996,7 @@ "colorette": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", - "dev": true + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" }, "colors": { "version": "1.4.0", @@ -9843,8 +10054,7 @@ "common-tags": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", - "dev": true + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==" }, "commondir": { "version": "1.0.1", @@ -9901,8 +10111,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", @@ -9916,6 +10125,35 @@ "typedarray": "^0.0.6" } }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, "connect-history-api-fallback": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", @@ -9959,7 +10197,6 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, "requires": { "safe-buffer": "~5.1.1" } @@ -10142,6 +10379,16 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, "cosmiconfig": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", @@ -10252,6 +10499,11 @@ "randomfill": "^1.0.3" } }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, "css": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", @@ -10727,8 +10979,7 @@ "deepmerge": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, "default-gateway": { "version": "4.2.0", @@ -10753,7 +11004,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -11104,6 +11354,12 @@ "tslib": "^1.10.0" } }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -11149,6 +11405,11 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" + }, "electron-to-chromium": { "version": "1.3.465", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.465.tgz", @@ -11396,6 +11657,11 @@ "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", "dev": true }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -11405,8 +11671,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { "version": "1.14.3", @@ -11923,11 +12188,15 @@ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "etag": { "version": "1.8.1", @@ -11935,6 +12204,21 @@ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, "event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", @@ -12340,8 +12624,7 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", @@ -12907,6 +13190,12 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", @@ -12958,14 +13247,12 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, "optional": true }, "fstream": { @@ -12994,8 +13281,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "function.prototype.name": { "version": "1.1.2", @@ -13098,8 +13384,7 @@ "gensync": { "version": "1.0.0-beta.1", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", - "dev": true + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" }, "get-assigned-identifiers": { "version": "1.2.0", @@ -13112,6 +13397,11 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, "get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -13167,7 +13457,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -13383,8 +13672,7 @@ "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "growly": { "version": "1.3.0", @@ -13487,14 +13775,12 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" }, "has-unicode": { "version": "2.0.1", @@ -13786,6 +14072,18 @@ } } }, + "http-auth": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-3.1.3.tgz", + "integrity": "sha1-lFz63WZSHq+PfISRPTd9exXyTjE=", + "dev": true, + "requires": { + "apache-crypt": "^1.1.2", + "apache-md5": "^1.0.6", + "bcryptjs": "^2.3.0", + "uuid": "^3.0.0" + } + }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -14150,7 +14448,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -14436,6 +14733,11 @@ "is-path-inside": "^3.0.1" } }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -14448,6 +14750,11 @@ "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", "dev": true }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, "is-observable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", @@ -14525,6 +14832,11 @@ "has": "^1.0.3" } }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -15513,7 +15825,6 @@ "version": "26.3.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz", "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==", - "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -16061,27 +16372,130 @@ } } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "live-server": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.1.tgz", + "integrity": "sha512-Yn2XCVjErTkqnM3FfTmM7/kWy3zP7+cEtC7x6u+wUzlQ+1UW3zEYbbyJrc0jNDwiMDZI0m4a0i3dxlGHVyXczw==", + "dev": true, + "requires": { + "chokidar": "^2.0.4", + "colors": "^1.4.0", + "connect": "^3.6.6", + "cors": "^2.8.5", + "event-stream": "3.3.4", + "faye-websocket": "0.11.x", + "http-auth": "3.1.x", + "morgan": "^1.9.1", + "object-assign": "^4.1.1", + "opn": "^6.0.0", + "proxy-middleware": "^0.15.0", + "send": "^0.17.1", + "serve-index": "^1.9.1" }, "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "error-ex": "^1.2.0" - } + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "opn": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-6.0.0.tgz", + "integrity": "sha512-I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + } + } + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } }, "pify": { "version": "2.3.0", @@ -16141,8 +16555,7 @@ "lodash": { "version": "4.17.20", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" }, "lodash.camelcase": { "version": "4.3.0", @@ -16323,6 +16736,14 @@ "yallist": "^4.0.0" } }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -16367,6 +16788,12 @@ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -16565,8 +16992,7 @@ "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "merge2": { "version": "1.4.1", @@ -16658,7 +17084,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -16666,8 +17091,7 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minipass": { "version": "3.1.3", @@ -16832,6 +17256,42 @@ "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==", "dev": true }, + "morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dev": true, + "requires": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -17606,8 +18066,7 @@ "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object-visit": { "version": "1.0.1", @@ -17622,7 +18081,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, "requires": { "define-properties": "^1.1.2", "function-bind": "^1.1.1", @@ -17710,7 +18168,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -17996,8 +18453,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -18014,8 +18470,7 @@ "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "path-platform": { "version": "0.11.15", @@ -18046,6 +18501,15 @@ } } }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "~2.3" + } + }, "pbkdf2": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", @@ -18074,8 +18538,7 @@ "picomatch": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" }, "pidtree": { "version": "0.3.1", @@ -18430,8 +18893,7 @@ "pretty-bytes": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.5.0.tgz", - "integrity": "sha512-p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA==", - "dev": true + "integrity": "sha512-p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA==" }, "pretty-error": { "version": "2.1.1", @@ -18458,8 +18920,7 @@ "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "process": { "version": "0.11.10", @@ -18560,6 +19021,12 @@ "ipaddr.js": "1.9.1" } }, + "proxy-middleware": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz", + "integrity": "sha1-o/3xvvtzD5UZZYcqwvYHTGFHelY=", + "dev": true + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -18706,7 +19173,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -19073,14 +19539,12 @@ "regenerate": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", - "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", - "dev": true + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==" }, "regenerate-unicode-properties": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dev": true, "requires": { "regenerate": "^1.4.0" } @@ -19095,7 +19559,6 @@ "version": "0.14.4", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", - "dev": true, "requires": { "@babel/runtime": "^7.8.4", "private": "^0.1.8" @@ -19131,7 +19594,6 @@ "version": "4.7.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, "requires": { "regenerate": "^1.4.0", "regenerate-unicode-properties": "^8.2.0", @@ -19144,14 +19606,12 @@ "regjsgen": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" }, "regjsparser": { "version": "0.6.4", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, "requires": { "jsesc": "~0.5.0" }, @@ -19159,8 +19619,7 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } }, @@ -19309,7 +19768,6 @@ "version": "1.17.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -19405,6 +19863,119 @@ "inherits": "^2.0.1" } }, + "rollup": { + "version": "2.38.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.38.0.tgz", + "integrity": "sha512-ay9zDiNitZK/LNE/EM2+v5CZ7drkB2xyDljvb1fQJCGnq43ZWRkhxN145oV8GmoW1YNi4sA/1Jdkr2LfawJoXw==", + "requires": { + "fsevents": "~2.1.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "terser": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", + "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + } + } + } + }, "rst-selector-parser": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", @@ -19973,7 +20544,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, "requires": { "randombytes": "^2.1.0" } @@ -20373,14 +20943,12 @@ "source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-resolve": { "version": "0.5.3", @@ -20399,7 +20967,6 @@ "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -20408,8 +20975,12 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "spawn-wrap": { "version": "2.0.0", @@ -20497,6 +21068,15 @@ } } }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2" + } + }, "split-on-first": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", @@ -20618,6 +21198,15 @@ "readable-stream": "^2.0.2" } }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, "stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", @@ -20805,6 +21394,16 @@ "safe-buffer": "~5.1.0" } }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -20828,6 +21427,11 @@ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true }, + "strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" + }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -20973,7 +21577,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -21214,6 +21817,34 @@ "inherits": "2" } }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" + }, + "tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "requires": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" + } + } + }, "terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", @@ -21777,14 +22408,12 @@ "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" }, "unicode-match-property-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^1.0.4", "unicode-property-aliases-ecmascript": "^1.0.4" @@ -21793,14 +22422,12 @@ "unicode-match-property-value-ecmascript": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" }, "unicode-property-aliases-ecmascript": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "dev": true + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" }, "union-value": { "version": "1.0.1", @@ -21838,12 +22465,26 @@ "imurmurhash": "^0.1.4" } }, - "universalify": { - "version": "0.1.2", + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, + "unix-crypt-td-js": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz", + "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==", + "dev": true + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -21905,8 +22546,7 @@ "upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" }, "uri-js": { "version": "4.2.2", @@ -23149,7 +23789,6 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -23228,6 +23867,1144 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, + "workbox-background-sync": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.0.2.tgz", + "integrity": "sha512-KQU2ntvbvFoBvCRm+EDpWAaykt4u/oaF5j3C6io0dZVWhFc/ZwgYDii8fb34LTenug3VPWQELdw9dNBCoP4b0w==", + "requires": { + "workbox-core": "^6.0.2" + } + }, + "workbox-broadcast-update": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.0.2.tgz", + "integrity": "sha512-yCXYEln7nU8FkMDysYQPirpgFXtsdBtxruHbvZzRsxMHvAELf3j/o6Ufae1zjl8XanLF696sqSNxehpCGSD6tw==", + "requires": { + "workbox-core": "^6.0.2" + } + }, + "workbox-build": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.0.2.tgz", + "integrity": "sha512-Dukbt+p62Yzb12SXAmycTYvHngJ8aRtXy3hymsC8B6gxTCZmCZ0u5JuKhu7lNLbDwDkYE78lhFvT9SF+MXFz5A==", + "requires": { + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@hapi/joi": "^16.1.8", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^9.0.0", + "@rollup/plugin-replace": "^2.3.3", + "@surma/rollup-plugin-off-main-thread": "^1.4.1", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.25.0", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.7.3", + "source-map-url": "^0.4.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "^6.0.2", + "workbox-broadcast-update": "^6.0.2", + "workbox-cacheable-response": "^6.0.2", + "workbox-core": "^6.0.2", + "workbox-expiration": "^6.0.2", + "workbox-google-analytics": "^6.0.2", + "workbox-navigation-preload": "^6.0.2", + "workbox-precaching": "^6.0.2", + "workbox-range-requests": "^6.0.2", + "workbox-recipes": "^6.0.2", + "workbox-routing": "^6.0.2", + "workbox-strategies": "^6.0.2", + "workbox-streams": "^6.0.2", + "workbox-sw": "^6.0.2", + "workbox-window": "^6.0.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/compat-data": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" + }, + "@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "requires": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "requires": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + }, + "@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "requires": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + } + }, + "@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "requires": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "browserslist": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", + "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", + "requires": { + "caniuse-lite": "^1.0.30001173", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.634", + "escalade": "^3.1.1", + "node-releases": "^1.1.69" + } + }, + "caniuse-lite": { + "version": "1.0.30001180", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001180.tgz", + "integrity": "sha512-n8JVqXuZMVSPKiPiypjFtDTXc4jWIdjxull0f92WLo7e1MSi3uJ3NvveakSh/aCl1QKFAvIz3vIj0v+0K+FrXw==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "core-js-compat": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", + "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", + "requires": { + "browserslist": "^4.16.1", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + } + } + }, + "electron-to-chromium": { + "version": "1.3.645", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.645.tgz", + "integrity": "sha512-T7mYop3aDpRHIQaUYcmzmh6j9MAe560n6ukqjJMbVC6bVTau7dSpvB18bcsBPPtOSe10cKxhJFtlbEzLa0LL1g==" + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "node-releases": { + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + } + } + }, + "workbox-cacheable-response": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.0.2.tgz", + "integrity": "sha512-OrgFiYWkmFXDIbNRYSu+fchcfoZqyJ4yZbdc8WKUjr9v/MghKHfR9u7UI077xBkjno5J3YNpbwx73/no3HkrzA==", + "requires": { + "workbox-core": "^6.0.2" + } + }, + "workbox-core": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.0.2.tgz", + "integrity": "sha512-Ksl6qeikGb+BOCILoCUJGxwlEQOeeqdpOnpOr9UDt3NtacPYbfYBmpYpKArw5DFWK+5geBsFqgUUlXThlCYfKQ==" + }, + "workbox-expiration": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.0.2.tgz", + "integrity": "sha512-6+nbR18cklAdI3BPT675ytftXPwnVbXGR8mPWNWTJtl5y2urRYv56ZOJLD7FBFVkZ8EjWiRhNP/A0fkxgdKtWQ==", + "requires": { + "workbox-core": "^6.0.2" + } + }, + "workbox-google-analytics": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.0.2.tgz", + "integrity": "sha512-xmYJurR1M6Pzc2SBM/E7AgwmBszhu/YYDzBnU+HJPZFLbTG97ASIJyTXV1vcczA/dNaS0miIf0cFqneozVlDRw==", + "requires": { + "workbox-background-sync": "^6.0.2", + "workbox-core": "^6.0.2", + "workbox-routing": "^6.0.2", + "workbox-strategies": "^6.0.2" + } + }, + "workbox-navigation-preload": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.0.2.tgz", + "integrity": "sha512-7+ojLrjXmTFZBfGmUQIcBWB+xrFgXLMJGNQAtxT7Ta9A23rEWo8jqAgeuwAylebcORUlM+ztgYTV7eGp+AD+Yg==", + "requires": { + "workbox-core": "^6.0.2" + } + }, + "workbox-precaching": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.0.2.tgz", + "integrity": "sha512-sqKWL2emzmGnfJpna+9RjUkUiqQO++AKfwljCbgkHg8wBbVLy/rnui3eelKgAI7D8R31LJFfiZkY/kXmwkjtlQ==", + "requires": { + "workbox-core": "^6.0.2", + "workbox-routing": "^6.0.2", + "workbox-strategies": "^6.0.2" + } + }, + "workbox-range-requests": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.0.2.tgz", + "integrity": "sha512-qCrDbH9AzDbCErde71Nys2iNZO9I9M9Jgl/9/Q67dGQVwFsEq73SuIzS2DGIBKqtIdC5QUigC3d7XJONajclUQ==", + "requires": { + "workbox-core": "^6.0.2" + } + }, + "workbox-recipes": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.0.2.tgz", + "integrity": "sha512-ewZIHO4jYE6bnEeUIYS6joQy3l+MydpOsVr2F6EpE8ps++z1ScbSdLtJU+yu6WuO3lH44HFZLeFxYQqYm50QAA==", + "requires": { + "workbox-cacheable-response": "^6.0.2", + "workbox-core": "^6.0.2", + "workbox-expiration": "^6.0.2", + "workbox-precaching": "^6.0.2", + "workbox-routing": "^6.0.2", + "workbox-strategies": "^6.0.2" + } + }, + "workbox-routing": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.0.2.tgz", + "integrity": "sha512-iQ9ch3fL1YpztDLfHNURaHQ0ispgPCdzWmZZhtSHUyy/+YkTlIiDVTbOQCIpHIrWlKQiim6X3K2ItIy1FW9+wA==", + "requires": { + "workbox-core": "^6.0.2" + } + }, + "workbox-strategies": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.0.2.tgz", + "integrity": "sha512-HjLnYCVS60U7OKhl5NIq8NAQXrotJQRDakmIONnRlQIlP2If/kAiQSUP3QCHMq4EeXGiF+/CdlR1/bhYBHZzZg==", + "requires": { + "workbox-core": "^6.0.2" + } + }, + "workbox-streams": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.0.2.tgz", + "integrity": "sha512-bckftu/iMlg5LFXPZ6NX/FUc/w4illgxSuwtsZkQAO6Uen1EeegjfLyenO01/dwoyc3D/AlZepMdhv87XhE7HQ==", + "requires": { + "workbox-core": "^6.0.2", + "workbox-routing": "^6.0.2" + } + }, + "workbox-sw": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.0.2.tgz", + "integrity": "sha512-EoOjbyy5bpoBoSqt2PIeDOZ/JJ41f+WJjb979PkfIUWw4F+F/w2uKJJrMA5fk+nWnVge83Fwy8nF3dWNsqOrdg==" + }, + "workbox-webpack-plugin": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.0.2.tgz", + "integrity": "sha512-HvzXLyaOD+6pEfNNKZYheRvHk9fVkIL9Rp6CHCd2LowF7M9YMEj8zh2Uuf5IEav6NZ02FR53zWnznO8Imv+fVQ==", + "requires": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "source-map-url": "^0.4.0", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "^6.0.2" + } + }, + "workbox-window": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.0.2.tgz", + "integrity": "sha512-I/X+qUh1AwN9x/MxFbXsPn7DA27BMtzkXo55w1tBD8V54fv8nUCeC5E4RpXt/mlgdSwBztnURCQTWsdhTrSUjg==", + "requires": { + "workbox-core": "^6.0.2" + } + }, "worker-farm": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", @@ -23267,8 +25044,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { "version": "1.0.3", diff --git a/package.json b/package.json index 13b14e5a..5c194384 100644 --- a/package.json +++ b/package.json @@ -40,11 +40,13 @@ "report-dir": "coverage-cypress" }, "scripts": { - "start": "webpack-dev-server --inline --hot --content-base dist/", - "start:secure": "webpack-dev-server --https --inline --hot --content-base dist/ --cert ~/.localhost-ssl/localhost.pem --key ~/.localhost-ssl/localhost.key", - "start:secure:no-certs": "webpack-dev-server --https --inline --hot --content-base dist/", + "start": "webpack-dev-server --inline --hot --content-base dist/ --port=11000", + "start:secure": "webpack-dev-server --https --inline --hot --content-base dist/ --cert ~/.localhost-ssl/localhost.pem --key ~/.localhost-ssl/localhost.key --port=11000", + "start:secure:no-certs": "webpack-dev-server --https --inline --hot --content-base dist/ --port=11000", "build": "npm-run-all lint:build clean build:webpack", "build:webpack": "webpack --mode production --devtool false", + "build:dev": "webpack", + "apo:dev:build": "npm-run-all clean build:dev", "clean": "rimraf dist", "lint:others": "eslint -c \".eslintrc.build.js\" \"./src/**/*.{json,js,jsx,ts,tsx}\" --ignore-pattern \"/src/lara-plugin/**/*\" --ignore-pattern \"/src/lib/**/*\"", "lint:plugins": "eslint -c \"./src/lara-plugin/.eslintrc.js\" \"./src/lara-plugin\"", @@ -120,6 +122,7 @@ "istanbul-lib-coverage": "^3.0.0", "jest": "^26.4.2", "jest-fetch-mock": "^3.0.3", + "live-server": "^1.2.1", "mini-css-extract-plugin": "^0.11.2", "node-sass": "^4.14.1", "npm-run-all": "^4.1.5", @@ -159,6 +162,9 @@ "react-modal": "^3.11.2", "react-share": "^4.2.1", "shutterbug": "^1.3.0", - "superagent": "^6.1.0" + "superagent": "^6.1.0", + "workbox-precaching": "^6.0.2", + "workbox-webpack-plugin": "^6.0.2", + "workbox-window": "^6.0.2" } } diff --git a/src/components/app.tsx b/src/components/app.tsx index da7943d2..26596530 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -30,6 +30,7 @@ import { INavigationOptions } from "@concord-consortium/lara-interactive-api"; import { Logger, LogEventName } from "../lib/logger"; import { GlossaryPlugin } from "../components/activity-page/plugins/glossary-plugin"; import { IdleDetector } from "../utilities/idle-detector"; +import { messageSW, Workbox } from "workbox-window"; import "./app.scss"; @@ -103,6 +104,55 @@ export class App extends React.PureComponent { } } + async UNSAFE_componentWillMount() { + if ("serviceWorker" in navigator) { + const wb = new Workbox("service-worker.js"); + let registration: ServiceWorkerRegistration | undefined; + + // TODO: in future work this should pop a dialog using this recipe: + // https://developers.google.com/web/tools/workbox/guides/advanced-recipes#offer_a_page_reload_for_users + // for now just send a message to always skip waiting so we don't have to do it manually in the devtools + const alwaysSkipWaitingForNow = () => { + if (registration?.waiting) { + console.log("Sending SKIP_WAITING to service worker..."); + messageSW(registration.waiting, {type: "SKIP_WAITING"}); + } + }; + + // these are all events defined for workbox-window (https://developers.google.com/web/tools/workbox/modules/workbox-window) + wb.addEventListener("installed", (event) => { + console.log("A new service worker has installed."); + }); + wb.addEventListener("waiting", (event) => { + alwaysSkipWaitingForNow(); + }); + wb.addEventListener("externalwaiting" as any, (event) => { + alwaysSkipWaitingForNow(); + }); + wb.addEventListener("controlling", (event) => { + console.log("A new service worker has installed and is controlling."); + }); + wb.addEventListener("activating", (event) => { + console.log("A new service worker is activating."); + }); + wb.addEventListener("activated", (event) => { + if (!event.isUpdate) { + console.log("Service worker activated for the first time!"); + } + }); + wb.addEventListener("message", (event) => { + if (event.data.type === "CACHE_UPDATED") { + const {updatedURL} = event.data.payload; + console.log(`A newer version of ${updatedURL} is available!`); + } + }); + + wb.register().then((_registration) => { + registration = _registration; + }); + } + } + async componentDidMount() { try { const activityPath = queryValue("activity") || kDefaultActivity; @@ -228,10 +278,10 @@ export class App extends React.PureComponent { onShowSequence={sequence !== undefined ? this.handleShowSequenceIntro : undefined} /> { - idle && !errorType && - { } { errorType && } { - !idle && !errorType && + !idle && !errorType && this.renderActivityContent(activity, currentPage, totalPreviousQuestions, fullWidth) } { (activity.layout === ActivityLayouts.SinglePage || currentPage === 0) && @@ -381,7 +431,7 @@ export class App extends React.PureComponent { Logger.log({ event: LogEventName.go_back_to_portal }); window.location.href = this.portalUrl; } - + private handleChangePage = (page: number) => { const { currentPage, incompleteQuestions, activity } = this.state; if (page > currentPage && incompleteQuestions.length > 0) { diff --git a/src/portal-api.test.ts b/src/portal-api.test.ts index 8835be92..e5521bdb 100644 --- a/src/portal-api.test.ts +++ b/src/portal-api.test.ts @@ -37,7 +37,7 @@ describe("firebaseAppName", () => { }); it("returns report-service-dev on localhost url", () => { - url.href = "http://localhost:8080"; + url.href = "http://localhost:11000"; expect(firebaseAppName()).toBe("report-service-dev"); }); diff --git a/src/service-worker.ts b/src/service-worker.ts new file mode 100644 index 00000000..f1580592 --- /dev/null +++ b/src/service-worker.ts @@ -0,0 +1,18 @@ +declare const self: ServiceWorkerGlobalScope; + +import {precacheAndRoute} from "workbox-precaching"; + +// InjectManifest will add in the precache manifest here: +precacheAndRoute((self as any).__WB_MANIFEST, { + // Ignore all URL parameters (such as runKey on index.html) + ignoreURLParametersMatching: [/.*/] +}); + +addEventListener("message", (event) => { + if (event.data && event.data.type === "SKIP_WAITING") { + console.log("Calling skipWaiting() from service worker..."); + self.skipWaiting(); + } +}); + +console.log("hello from the compiled service-worker!!!!!"); diff --git a/tsconfig.json b/tsconfig.json index 372b58b3..c1919dcc 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,7 +15,8 @@ "lib": [ "dom", "es5", - "es2015" + "es2015", + "webworker" ] }, "include": [ diff --git a/webpack.config.js b/webpack.config.js index 6d9a30b5..ee206620 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -5,6 +5,7 @@ const HtmlWebpackPlugin = require("html-webpack-plugin"); const CopyWebpackPlugin = require("copy-webpack-plugin"); const HtmlReplaceWebpackPlugin = require('html-replace-webpack-plugin'); const GitRevPlugin = require('git-rev-webpack-plugin'); +const {InjectManifest} = require('workbox-webpack-plugin'); const version = require("./package.json").version; const gitRevPlugin = new GitRevPlugin(); @@ -13,113 +14,159 @@ const appVersionInfo = `Version ${version} (${gitRevPlugin.hash()})`; module.exports = (env, argv) => { const devMode = argv.mode !== "production"; - return { - context: __dirname, // to automatically find tsconfig.json - devtool: "source-map", - entry: "./src/index.tsx", - mode: "development", - output: { - filename: "assets/index.[hash].js" - }, - performance: { hints: false }, - module: { - rules: [ - { - test: /\.tsx?$/, - enforce: "pre", - use: [ - { - loader: "eslint-loader", - options: {} - } - ] - }, - { - test: /\.tsx?$/, - loader: "ts-loader" - }, - { - test: /\.(sa|sc|c)ss$/i, - use: [ - devMode ? "style-loader" : MiniCssExtractPlugin.loader, - { - loader: "css-loader", - options: { - modules: { - // required for :import from scss files - // cf. https://github.com/webpack-contrib/css-loader#separating-interoperable-css-only-and-css-module-features - compileType: "icss" - } + return [ + // service-worker (not auto-bundled but registered in app) + { + context: __dirname, // to automatically find tsconfig.json + devtool: "inline-source-map", + entry: "./src/service-worker.ts", + mode: "development", + output: { + globalObject: 'this', + filename: "./service-worker.js" // NOTE: no hash is added to the output + }, + module: { + rules: [ + { + test: /\.ts$/, + enforce: "pre", + use: [ + { + loader: "eslint-loader", + options: {} + } + ] + }, + { + test: /\.ts$/, + loader: "ts-loader", + options: { + onlyCompileBundledFiles: true, + compilerOptions: { + sourceMap: true } }, - "postcss-loader", - "sass-loader" - ] - }, - { - test: /\.(png|woff|woff2|eot|ttf)$/, - loader: "url-loader", - options: { - limit: 8192 } - }, - { - test: /\.svg$/, - oneOf: [ - { - // Do not apply SVGR import in CSS files. - issuer: /\.(css|scss|less)$/, - use: "url-loader" - }, - { - issuer: /\.tsx?$/, - loader: "@svgr/webpack" + ] + }, + resolve: { + extensions: [ ".ts", ".js" ] + } + }, + + // index (auto-bundled into index.html) + { + context: __dirname, // to automatically find tsconfig.json + devtool: "source-map", + entry: "./src/index.tsx", + mode: "development", + output: { + filename: "assets/index.[hash].js" + }, + performance: { hints: false }, + module: { + rules: [ + { + test: /\.tsx?$/, + enforce: "pre", + use: [ + { + loader: "eslint-loader", + options: {} + } + ] + }, + { + test: /\.tsx?$/, + loader: "ts-loader" + }, + { + test: /\.(sa|sc|c)ss$/i, + use: [ + devMode ? "style-loader" : MiniCssExtractPlugin.loader, + { + loader: "css-loader", + options: { + modules: { + // required for :import from scss files + // cf. https://github.com/webpack-contrib/css-loader#separating-interoperable-css-only-and-css-module-features + compileType: "icss" + } + } + }, + "postcss-loader", + "sass-loader" + ] + }, + { + test: /\.(png|woff|woff2|eot|ttf)$/, + loader: "url-loader", + options: { + limit: 8192 } - ] - }, - // This code coverage instrumentation should only be added when needed. It makes - // the code larger and slower - process.env.CODE_COVERAGE ? { - test: /\.[tj]sx?$/, - use: { - loader: "istanbul-instrumenter-loader", - options: { esModules: true }, }, - enforce: "post", - // I"m not sure but I don"t think it is necessary to exclude the cypress and - // tests folder. I think Jest does its own loading of tests. And cypress does - // its own loading of cypress - exclude: /node_modules|\.spec\.js$/, + { + test: /\.svg$/, + oneOf: [ + { + // Do not apply SVGR import in CSS files. + issuer: /\.(css|scss|less)$/, + use: "url-loader" + }, + { + issuer: /\.tsx?$/, + loader: "@svgr/webpack" + } + ] + }, + // This code coverage instrumentation should only be added when needed. It makes + // the code larger and slower + process.env.CODE_COVERAGE ? { + test: /\.[tj]sx?$/, + use: { + loader: "istanbul-instrumenter-loader", + options: { esModules: true }, + }, + enforce: "post", + // I"m not sure but I don"t think it is necessary to exclude the cypress and + // tests folder. I think Jest does its own loading of tests. And cypress does + // its own loading of cypress + exclude: /node_modules|\.spec\.js$/, - } : {} - ] - }, - resolve: { - extensions: [ ".ts", ".tsx", ".js" ] - }, - stats: { - // suppress "export not found" warnings about re-exported types - warningsFilter: /export .* was not found in/ - }, - plugins: [ - new MiniCssExtractPlugin({ - filename: devMode ? "assets/index.css" : "assets/index.[hash].css" - }), - new HtmlWebpackPlugin({ - filename: "index.html", - template: "src/index.html" - }), - new HtmlReplaceWebpackPlugin([ - { - pattern: '__APP_VERSION_INFO__', - replacement: appVersionInfo - } - ]), - new CopyWebpackPlugin({ - patterns: [ - {from: "src/public"} + } : {} ] - }) - ] - }; + }, + resolve: { + extensions: [ ".ts", ".tsx", ".js" ] + }, + stats: { + // suppress "export not found" warnings about re-exported types + warningsFilter: /export .* was not found in/ + }, + plugins: [ + new MiniCssExtractPlugin({ + filename: devMode ? "assets/index.css" : "assets/index.[hash].css" + }), + new HtmlWebpackPlugin({ + filename: "index.html", + template: "src/index.html" + }), + new HtmlReplaceWebpackPlugin([ + { + pattern: '__APP_VERSION_INFO__', + replacement: appVersionInfo + } + ]), + new CopyWebpackPlugin({ + patterns: [ + {from: "src/public"} + ] + }), + new InjectManifest({ + swSrc: "./src/service-worker.ts", + maximumFileSizeToCacheInBytes: 1024 * 1024 * 10 + }) + ] + } + ]; }; From bae58cb3aca7fb69be5dc5145604d48cf060fb70 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Thu, 4 Feb 2021 08:06:22 -0500 Subject: [PATCH 002/242] Disable service workers in Cypress idle tests This was done because Cypress was timing out otherwise --- cypress/integration/idle-warning.test.ts | 26 ++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/cypress/integration/idle-warning.test.ts b/cypress/integration/idle-warning.test.ts index e7b5f59d..0069a47c 100644 --- a/cypress/integration/idle-warning.test.ts +++ b/cypress/integration/idle-warning.test.ts @@ -1,11 +1,17 @@ context("Idle warning", () => { beforeEach(() => { - cy.clock(); + cy.clock(); }); + // NOTE: all the idle warning tests disable the service worker due to issues with Cypress timing out otherwise + context("when user is anonymous", () => { it("shows after 20 minutes of inactivity and lets user continue his work", () => { - cy.visit("?activity=sample-activity-1"); + cy.visit("?activity=sample-activity-1", { + onBeforeLoad (win) { + delete (win.navigator as any).__proto__.serviceWorker + } + }); cy.tick(1000); // necessary to "download" sample activity. AP uses setTimeout(, 250) for fake network request. cy.get("[data-cy=activity-summary]").should("contain", "Single Page Test Activity"); cy.tick(21 * 60 * 1000); // 21 minutes @@ -19,11 +25,15 @@ context("Idle warning", () => { context("when user is logged in", () => { // __cypressLoggedIn is used to trigger logged in code path for Cypress tests. - // Eventually it should be replaced with better patterns for testing logged in users (probably via using + // Eventually it should be replaced with better patterns for testing logged in users (probably via using // `token` param and stubbing network requests). it("shows after 20 minutes of inactivity and lets user continue his work", () => { - cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true"); + cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true", { + onBeforeLoad (win) { + delete (win.navigator as any).__proto__.serviceWorker + } + }); cy.tick(1000); // necessary to "download" sample activity. AP uses setTimeout(, 250) for fake network request. cy.get("[data-cy=activity-summary]").should("contain", "Single Page Test Activity"); cy.tick(21 * 60 * 1000); // 21 minutes @@ -33,9 +43,13 @@ context("Idle warning", () => { // Activity should be visible again. cy.get("[data-cy=activity-summary]").should("contain", "Single Page Test Activity"); }); - + it("shows after 20 minutes of inactivity and lets user go back to Portal", () => { - cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true"); + cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true", { + onBeforeLoad (win) { + delete (win.navigator as any).__proto__.serviceWorker + } + }); cy.tick(1000); // necessary to "download" sample activity. AP uses setTimeout(, 250) for fake network request. cy.get("[data-cy=activity-summary]").should("contain", "Single Page Test Activity"); cy.tick(21 * 60 * 1000); // 21 minutes From 72913c98856f46a2e154a741ad29a28d690e5834 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Fri, 5 Feb 2021 11:51:52 -0500 Subject: [PATCH 003/242] Comment out service worker to check tests on Github Actions --- cypress/integration/idle-warning.test.ts | 18 +++--------------- src/components/app.tsx | 5 +++++ 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/cypress/integration/idle-warning.test.ts b/cypress/integration/idle-warning.test.ts index 0069a47c..886eeb2f 100644 --- a/cypress/integration/idle-warning.test.ts +++ b/cypress/integration/idle-warning.test.ts @@ -7,11 +7,7 @@ context("Idle warning", () => { context("when user is anonymous", () => { it("shows after 20 minutes of inactivity and lets user continue his work", () => { - cy.visit("?activity=sample-activity-1", { - onBeforeLoad (win) { - delete (win.navigator as any).__proto__.serviceWorker - } - }); + cy.visit("?activity=sample-activity-1"); cy.tick(1000); // necessary to "download" sample activity. AP uses setTimeout(, 250) for fake network request. cy.get("[data-cy=activity-summary]").should("contain", "Single Page Test Activity"); cy.tick(21 * 60 * 1000); // 21 minutes @@ -29,11 +25,7 @@ context("Idle warning", () => { // `token` param and stubbing network requests). it("shows after 20 minutes of inactivity and lets user continue his work", () => { - cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true", { - onBeforeLoad (win) { - delete (win.navigator as any).__proto__.serviceWorker - } - }); + cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true"); cy.tick(1000); // necessary to "download" sample activity. AP uses setTimeout(, 250) for fake network request. cy.get("[data-cy=activity-summary]").should("contain", "Single Page Test Activity"); cy.tick(21 * 60 * 1000); // 21 minutes @@ -45,11 +37,7 @@ context("Idle warning", () => { }); it("shows after 20 minutes of inactivity and lets user go back to Portal", () => { - cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true", { - onBeforeLoad (win) { - delete (win.navigator as any).__proto__.serviceWorker - } - }); + cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true"); cy.tick(1000); // necessary to "download" sample activity. AP uses setTimeout(, 250) for fake network request. cy.get("[data-cy=activity-summary]").should("contain", "Single Page Test Activity"); cy.tick(21 * 60 * 1000); // 21 minutes diff --git a/src/components/app.tsx b/src/components/app.tsx index 26596530..cf6306d6 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -105,6 +105,10 @@ export class App extends React.PureComponent { } async UNSAFE_componentWillMount() { + /* + + DISABLE to see if tests pass on GitHub + if ("serviceWorker" in navigator) { const wb = new Workbox("service-worker.js"); let registration: ServiceWorkerRegistration | undefined; @@ -151,6 +155,7 @@ export class App extends React.PureComponent { registration = _registration; }); } + */ } async componentDidMount() { From ba21a859087c18762fd57202128a151d96246e29 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Fri, 5 Feb 2021 12:40:13 -0500 Subject: [PATCH 004/242] Disabled service worker in Cypress tests --- src/components/app.tsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index cf6306d6..f82e623e 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -105,11 +105,9 @@ export class App extends React.PureComponent { } async UNSAFE_componentWillMount() { - /* + const skipServiceWorker = !!(window as any).Cypress; - DISABLE to see if tests pass on GitHub - - if ("serviceWorker" in navigator) { + if (!skipServiceWorker && ("serviceWorker" in navigator)) { const wb = new Workbox("service-worker.js"); let registration: ServiceWorkerRegistration | undefined; @@ -155,7 +153,6 @@ export class App extends React.PureComponent { registration = _registration; }); } - */ } async componentDidMount() { From 59c3b1b2f5cef63f98a90490350f58ad69323010 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Fri, 5 Feb 2021 14:01:51 -0500 Subject: [PATCH 005/242] Add note about disabling service workers --- src/components/app.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/app.tsx b/src/components/app.tsx index f82e623e..67ec7b54 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -105,6 +105,7 @@ export class App extends React.PureComponent { } async UNSAFE_componentWillMount() { + // disable the service worker during Cypress tests - otherwise timeout errors occur in several tests const skipServiceWorker = !!(window as any).Cypress; if (!skipServiceWorker && ("serviceWorker" in navigator)) { From 7bc73f2ba566d217d3519c71d01ecc282370c950 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 10 Feb 2021 04:58:40 -0500 Subject: [PATCH 006/242] Added launch lists [#176582938] Added both reading and authoring of launch lists. For detailed information check the README.md file. --- README.md | 57 ++++++ .../activity-header/offline-nav.scss | 44 +++++ .../activity-header/offline-nav.tsx | 28 +++ src/components/app.tsx | 182 ++++++++++++++++-- src/components/launch-list-authoring-nav.scss | 36 ++++ src/components/launch-list-authoring-nav.tsx | 56 ++++++ src/components/launch-list-launcher.scss | 52 +++++ src/components/launch-list-launcher.tsx | 52 +++++ .../launch-list-loading-dialog.scss | 35 ++++ src/components/launch-list-loading-dialog.tsx | 137 +++++++++++++ src/firebase-db.ts | 24 +++ src/lara-api.ts | 49 ++++- src/launch-list-api.ts | 112 +++++++++++ src/public/launch-lists/smoke-test.json | 70 +++++++ src/service-worker.ts | 47 ++++- src/types.ts | 10 + webpack.config.js | 17 +- 17 files changed, 980 insertions(+), 28 deletions(-) create mode 100644 src/components/activity-header/offline-nav.scss create mode 100644 src/components/activity-header/offline-nav.tsx create mode 100644 src/components/launch-list-authoring-nav.scss create mode 100644 src/components/launch-list-authoring-nav.tsx create mode 100644 src/components/launch-list-launcher.scss create mode 100644 src/components/launch-list-launcher.tsx create mode 100644 src/components/launch-list-loading-dialog.scss create mode 100644 src/components/launch-list-loading-dialog.tsx create mode 100644 src/launch-list-api.ts create mode 100644 src/public/launch-lists/smoke-test.json diff --git a/README.md b/README.md index 835213fb..ad587382 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,63 @@ Inside of your `package.json` file: * enableFirestorePersistence: uses local offline firestore cache only * clearFirestorePersistence: clears local offline firestore cache +## Usage Notes + +### Launch Lists + +A launch list is a JSON file containing both a list of activities and a list of GET urls to cache offline. It is used to enable offline use of the Activity Player. + +### Using a Launch List + +Launch lists are specified using a `launchList=` query parameter that points to the filename (without the `.json` extension) in the `src/public/launch-lists` folder which is published with each deploy of the Activity Player. + +When running locally (after running `npm start`) load the following url: + +http://localhost:11000/?launchList=smoke-test + +#### Creating a Launch List + +Launch lists can either be authored by hand or more easily by enabling "authoring more" and having the Activity Player itself record the activities loaded and the urls to cache. + +To enable authoring mode launch the Activity Player with the `setLaunchListAuthoringId=` query parameter set to the launch list name. As an example when running locally using `npm start` you would use the following url: + +http://localhost:11000/?setLaunchListAuthoringId=example + +to turn on authoring mode and to set the launch list name to `example`. This setting is stored in localstorage so it persists across page loads so you **do not** need to keep the parameter in the query string to keep authoring mode enabled. + +Once authoring mode is enabled a nav bar is added to the top of the site showing the number of activities and urls cached. To add an activity use the `activity=` url parameter. The activity will load and you should see the activity count in the authoring nav bar increase by 1 along with the cache list for any urls found as values in the downloaded activity json file. You will then need to navigate through all the pages so ensure all the urls are cached as interactive in each page loads. Note: you may need to use the interactive if it does not immediately load all of its assets - this needs to be determined in a case by case basis. + +Once you have loaded all the activities you want to add to the launch list and navigated through their pages you can click the "Download JSON" link to download the launch list in your browser. It will be named the same as the launch list id you set. You can then save that json file in the `src/public/launch-list` folder and edit it to reorder the activity list if desired. + +#### Editing a Launch List + +If you have a launch list saved in the launch-lists folder named `example` you would load the following URL(after running `npm start`): + +http://localhost:11000/?setLaunchListAuthoringId=example&launchList=example + +At this point you can either add new activities by manually adding an `activity=` url parameter or update the current cache list by launching an existing activity in the launcher. Once you have completed the edits you can download the json and replace the file in the `src/public/launch-lists` folder. + +#### Exiting Launch List Authoring Mode + +Once you have completed authoring you can click on the "Exit Authoring" button in the authoring nav. This simply deletes the localstorage key set when the `setLaunchListAuthoringId=` query parameter was used. It **does not** delete the data stored during authoring mode. To delete that data (for the current launch list only) click the "Clear Authoring Data" button in the authoring nav. + +## Models-Resources Proxying + +In order for the interactive iframe contents to be cached by the Activity Player service worker the iframes must load content under the same Activity Player domain. To do this in production a CloudFront origin and behavior were added to proxy any url containing `models-resources` to the models-resources S3 bucket. This is also done locally with a proxy setup in the webpack-dev-server configuration. + +NOTE: this proxying works by renaming all characters in the url up to and including the `models-resources` string. This is done to allow for branches to not break when using absolute path references. So the following urls all will resolve to the same resource: + +* https://activity-player.concord.org/models-resources/glossary-plugin/plugin.js +* https://activity-player.concord.org/branch/master/models-resources/glossary-plugin/plugin.js +* https://activity-player.concord.org/version/1.0.0/models-resources/glossary-plugin/plugin.js + +The Activity Player json loader code rewrites any urls it finds that fit the following regexs (note the lack of leading slash): + +* https?:\/\/models-resources\.concord\.org/ => "models-resources" +* https?:\/\/models-resources\.s3\.amazonaws\.com/ => "models-resources" +* https?:\/\/((.+)-plugin)\.concord\.org/ => "models-resources/$1" + + ## License Activity Player is Copyright 2020 (c) by the Concord Consortium and is distributed under the [MIT license](http://www.opensource.org/licenses/MIT). diff --git a/src/components/activity-header/offline-nav.scss b/src/components/activity-header/offline-nav.scss new file mode 100644 index 00000000..2eaf5611 --- /dev/null +++ b/src/components/activity-header/offline-nav.scss @@ -0,0 +1,44 @@ +@import "../vars.scss"; + +.offline-nav { + height: 60px; + width: 100%; + margin-bottom: 3px; + font-size: 18px; + font-weight: bold; + + .inner { + display: flex; + flex-direction: row; + align-items: center; + height: 100%; + width: $content-width; + box-sizing: border-box; + margin: auto; + background-color: $cc-orange; + color: $cc-charcoal; + + &.full { + width: 100%; + } + + .nav-center { + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-start; + flex: 1; + min-width: 0; + height: 20px; + padding: 8px 10px; + } + + .nav-right { + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-end; + margin-right: 10px; + } + } +} diff --git a/src/components/activity-header/offline-nav.tsx b/src/components/activity-header/offline-nav.tsx new file mode 100644 index 00000000..1d9a8d0e --- /dev/null +++ b/src/components/activity-header/offline-nav.tsx @@ -0,0 +1,28 @@ +import React from "react"; + +import "./offline-nav.scss"; + +interface IProps { + fullWidth?: boolean; + onShowLaunchList: () => void; +} + +export class OfflineNav extends React.PureComponent { + render() { + const { fullWidth, onShowLaunchList } = this.props; + const handleShowLaunchList = () => onShowLaunchList(); + + return ( +
+
+
+ You are running offline (need better message here...) +
+
+ +
+
+
+ ); + } +} diff --git a/src/components/app.tsx b/src/components/app.tsx index 67ec7b54..3b7fe2b5 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -7,15 +7,15 @@ import { ActivityPageContent } from "./activity-page/activity-page-content"; import { IntroductionPageContent } from "./activity-introduction/introduction-page-content"; import { Footer } from "./activity-introduction/footer"; import { ActivityLayouts, PageLayouts, numQuestionsOnPreviousPages, enableReportButton, setDocumentTitle, getPagePositionFromQueryValue } from "../utilities/activity-utils"; -import { getActivityDefinition, getSequenceDefinition } from "../lara-api"; +import { getActivityDefinition, getAllUrlsInActivity, getSequenceDefinition } from "../lara-api"; import { ThemeButtons } from "./theme-buttons"; import { SinglePageContent } from "./single-page/single-page-content"; import { WarningBanner } from "./warning-banner"; import { CompletionPageContent } from "./activity-completion/completion-page-content"; import { queryValue, queryValueBoolean } from "../utilities/url-query"; import { fetchPortalData, IPortalData, firebaseAppName } from "../portal-api"; -import { signInWithToken, initializeDB, setPortalData, initializeAnonymousDB, onFirestoreSaveTimeout, onFirestoreSaveAfterTimeout } from "../firebase-db"; -import { Activity, IEmbeddablePlugin, Sequence } from "../types"; +import { signInWithToken, initializeDB, setPortalData, initializeAnonymousDB, onFirestoreSaveTimeout, onFirestoreSaveAfterTimeout, checkIfOnline } from "../firebase-db"; +import { Activity, IEmbeddablePlugin, LaunchList, LaunchListActivity, Sequence } from "../types"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; import { loadPluginScripts, getGlossaryEmbeddable, loadLearnerPluginState } from "../utilities/plugin-utils"; @@ -31,8 +31,13 @@ import { Logger, LogEventName } from "../lib/logger"; import { GlossaryPlugin } from "../components/activity-page/plugins/glossary-plugin"; import { IdleDetector } from "../utilities/idle-detector"; import { messageSW, Workbox } from "workbox-window"; +import { getLaunchList, getLaunchListAuthoringData, getLaunchListAuthoringId, LaunchListAuthoringData, mergeLaunchListWithAuthoringData, setLaunchListAuthoringData, setLaunchListAuthoringId } from "../launch-list-api"; +import { LaunchListLoadingDialog } from "./launch-list-loading-dialog"; +import { LaunchListLauncherDialog } from "./launch-list-launcher"; import "./app.scss"; +import { OfflineNav } from "./activity-header/offline-nav"; +import { LaunchListAuthoringNav } from "./launch-list-authoring-nav"; const kDefaultActivity = "sample-activity-multiple-layout-types"; // may eventually want to get rid of this const kDefaultIncompleteMessage = "Please submit an answer first."; @@ -46,6 +51,8 @@ const kLearnPortalUrl = "https://learn.concord.org"; export type ErrorType = "auth" | "network" | "timeout"; +export type OnlineStatus = "checking" | "yes" | "no"; + interface IncompleteQuestion { refId: string; navOptions: INavigationOptions; @@ -53,6 +60,8 @@ interface IncompleteQuestion { interface IState { activity?: Activity; + launchList?: LaunchList; + loadingLaunchList: boolean; currentPage: number; teacherEditionMode?: boolean; showThemeButtons?: boolean; @@ -68,6 +77,10 @@ interface IState { pluginsLoaded: boolean; errorType: null | ErrorType; idle: boolean; + online: OnlineStatus; + launchListAuthoringId?: string; + launchListAuthoringActivities: LaunchListActivity[]; + launchListAuthoringCacheList: string[]; } interface IProps {} @@ -89,7 +102,11 @@ export class App extends React.PureComponent { incompleteQuestions: [], pluginsLoaded: false, errorType: null, - idle: false + idle: false, + loadingLaunchList: false, + online: "checking", + launchListAuthoringActivities: [], + launchListAuthoringCacheList: [], }; } @@ -144,9 +161,30 @@ export class App extends React.PureComponent { } }); wb.addEventListener("message", (event) => { - if (event.data.type === "CACHE_UPDATED") { - const {updatedURL} = event.data.payload; - console.log(`A newer version of ${updatedURL} is available!`); + const {launchListAuthoringId} = this.state; + switch (event.data.type) { + case "CACHE_UPDATED": + console.log(`A newer version of ${event.data.payload.updatedURL} is available!`); + break; + + case "GET_REQUEST": + if (launchListAuthoringId) { + this.setState((prevState) => { + // make sure all models-resources requests use the base folder + const url = event.data.url.replace(/.*models-resources\//, "models-resources/"); + let {launchListAuthoringCacheList} = prevState; + const {launchListAuthoringActivities} = prevState; + if (!/api\/v1\/activities/.test(url) && (launchListAuthoringCacheList.indexOf(url) === -1)) { + launchListAuthoringCacheList = launchListAuthoringCacheList.concat(url); + } + setLaunchListAuthoringData(launchListAuthoringId, { + activities: launchListAuthoringActivities, + cacheList: launchListAuthoringCacheList + }); + return {...prevState, launchListAuthoringCacheList}; + }); + } + break; } }); @@ -158,8 +196,42 @@ export class App extends React.PureComponent { async componentDidMount() { try { - const activityPath = queryValue("activity") || kDefaultActivity; - const activity: Activity = await getActivityDefinition(activityPath); + // set the launch list authoring localstorage item if it exists in the params and then read from localstorage + setLaunchListAuthoringId(queryValue("setLaunchListAuthoringId")); + const launchListAuthoringId = getLaunchListAuthoringId(); + let launchListAuthoringData: LaunchListAuthoringData | undefined; + if (launchListAuthoringId) { + launchListAuthoringData = getLaunchListAuthoringData(launchListAuthoringId); + } + + let launchList: LaunchList | undefined = undefined; + const launchListId = queryValue("launchList"); + const loadingLaunchList = !!launchListId; + if (launchListId) { + launchList = await getLaunchList(launchListId); + + // merge the launch list data into the saved data + if (launchList && launchListAuthoringId && launchListAuthoringData) { + launchListAuthoringData = mergeLaunchListWithAuthoringData(launchList, launchListAuthoringData); + setLaunchListAuthoringData(launchListAuthoringId, launchListAuthoringData); + } + } + + if (launchListAuthoringData) { + this.setState({ + launchListAuthoringActivities: launchListAuthoringData.activities, + launchListAuthoringCacheList: launchListAuthoringData.cacheList + }); + } + + let activity: Activity | undefined = undefined; + const activityPath = queryValue("activity") || (launchList ? undefined : kDefaultActivity); + if (activityPath) { + activity = await getActivityDefinition(activityPath); + if (launchListAuthoringId) { + this.addActivityToLaunchList(launchListAuthoringId, activity, activityPath); + } + } const sequencePath = queryValue("sequence"); const sequence: Sequence | undefined = sequencePath ? await getSequenceDefinition(sequencePath) : undefined; @@ -167,16 +239,16 @@ export class App extends React.PureComponent { // page 0 is introduction, inner pages start from 1 and match page.position in exported activity if numeric // or the page.position of the matching page id if prefixed with "page_" - const currentPage = getPagePositionFromQueryValue(activity, queryValue("page")); + const currentPage = activity ? getPagePositionFromQueryValue(activity, queryValue("page")) : 0; const showThemeButtons = queryValueBoolean("themeButtons"); - // Show the warning if we are not running on production - const showWarning = firebaseAppName() !== "report-service-pro"; + // Show the warning if we are not running on production (disable for now) + const showWarning = false && (firebaseAppName() !== "report-service-pro"); const teacherEditionMode = queryValue("mode")?.toLowerCase( )=== "teacher-edition"; // Teacher Edition mode is equal to preview mode. RunKey won't be used and the data won't be persisted. const preview = queryValueBoolean("preview") || teacherEditionMode; - const newState: Partial = {activity, currentPage, showThemeButtons, showWarning, showSequenceIntro, sequence, teacherEditionMode}; + const newState: Partial = {activity, launchList, loadingLaunchList, currentPage, showThemeButtons, showWarning, showSequenceIntro, sequence, teacherEditionMode, launchListAuthoringId}; setDocumentTitle(activity, currentPage); let classHash = ""; @@ -214,6 +286,11 @@ export class App extends React.PureComponent { } } + // TODO: if using Firebase (which it is not right now) this needs to run after Firebase is initialized + // if the POST request method is use this can be moved higher in the function + const online = await checkIfOnline(); + this.setState({online: online ? "yes" : "no"}); + if (!preview) { // Notify user about network issues. Note that in preview mode Firestore network is disabled, so it doesn't // make sense to track requests. @@ -225,9 +302,12 @@ export class App extends React.PureComponent { this.setState(newState as IState); this.LARA = initializeLara(); - loadLearnerPluginState(activity, teacherEditionMode).then(() => { - loadPluginScripts(this.LARA, activity, this.handleLoadPlugins, teacherEditionMode); - }); + if (activity) { + const _activity = activity; // to keep eslint happy with activity parameter of loadPluginScripts + loadLearnerPluginState(_activity, teacherEditionMode).then(() => { + loadPluginScripts(this.LARA, _activity, this.handleLoadPlugins, teacherEditionMode); + }); + } Modal.setAppElement("#app"); @@ -247,9 +327,14 @@ export class App extends React.PureComponent {
{ this.state.showWarning && } { this.state.teacherEditionMode && } - { this.state.showSequenceIntro - ? - : this.renderActivity() } + { this.state.launchListAuthoringId && + } + { this.renderContent() } { this.state.showThemeButtons && }
{(window as any).__appVersionInfo || "(No Version Info)"}
{ ); } + private renderContent = () => { + const {launchList, loadingLaunchList, online, activity, showSequenceIntro, sequence, username} = this.state; + if (launchList) { + if (loadingLaunchList) { + return ; + } else if (activity) { + return this.renderActivity(); + } else { + const handleSelectActivity = (selectedActivity: Activity, url: string) => { + this.setState({ activity: selectedActivity }); + if (this.state.launchListAuthoringId) { + this.addActivityToLaunchList(this.state.launchListAuthoringId, selectedActivity, url); + } + }; + return ; + } + } else if (showSequenceIntro) { + return ; + } else { + return this.renderActivity(); + } + } + private renderActivity = () => { - const { activity, idle, errorType, currentPage, username, pluginsLoaded, teacherEditionMode, sequence, portalData } = this.state; - if (!activity) return (
Loading
); + const { activity, idle, errorType, currentPage, username, pluginsLoaded, teacherEditionMode, sequence, portalData, online, launchList } = this.state; + if (!activity) return (
Loading activity ...
); const totalPreviousQuestions = numQuestionsOnPreviousPages(currentPage, activity); const fullWidth = (currentPage !== 0) && (activity.pages[currentPage - 1].layout === PageLayouts.Responsive); const glossaryEmbeddable: IEmbeddablePlugin | undefined = getGlossaryEmbeddable(activity); const isCompletionPage = currentPage > 0 && activity.pages[currentPage - 1].is_completion; + const handleShowLaunchList = () => this.setState({ activity: undefined }); + return ( + {(online === "no") && launchList ? : undefined}
{ this.setState({ pluginsLoaded: true }); } + private handleCloseLoadingLaunchList = () => { + this.setState({loadingLaunchList: false}); + } + + private addActivityToLaunchList = (launchListAuthoringId: string, activity: Activity, url: string) => { + const isExternalUrl = /https?:\/\//.test(url); // test for internal demo files + if (launchListAuthoringId && isExternalUrl) { + this.setState(prevState => { + let {launchListAuthoringActivities} = prevState; + const {launchListAuthoringCacheList} = prevState; + + getAllUrlsInActivity(activity).forEach(urlInActivity => { + if (launchListAuthoringCacheList.indexOf(urlInActivity) === -1) { + launchListAuthoringCacheList.push(urlInActivity); + } + }); + + if (!prevState.launchListAuthoringActivities.find(a => a.url === url)) { + launchListAuthoringActivities = launchListAuthoringActivities.concat({ name: activity.name, url }); + setLaunchListAuthoringData(launchListAuthoringId, { + activities: launchListAuthoringActivities, + cacheList: launchListAuthoringCacheList + }); + } + + return {launchListAuthoringActivities, launchListAuthoringCacheList}; + }); + } + } } diff --git a/src/components/launch-list-authoring-nav.scss b/src/components/launch-list-authoring-nav.scss new file mode 100644 index 00000000..200dcd70 --- /dev/null +++ b/src/components/launch-list-authoring-nav.scss @@ -0,0 +1,36 @@ +@import "./vars.scss"; + +.launch-list-authoring-nav { + height: 60px; + width: 100%; + margin-bottom: 3px; + font-size: 18px; + font-weight: bold; + + .inner { + display: flex; + flex-direction: row; + align-items: center; + height: 100%; + width: $content-width; + box-sizing: border-box; + margin: auto; + background-color: $cc-orange; + color: $cc-charcoal; + + &.full { + width: 100%; + } + + .nav-center { + flex: 1; + min-width: 0; + height: 20px; + padding: 8px 10px; + } + + .nav-right { + margin-right: 10px; + } + } +} diff --git a/src/components/launch-list-authoring-nav.tsx b/src/components/launch-list-authoring-nav.tsx new file mode 100644 index 00000000..80df7dff --- /dev/null +++ b/src/components/launch-list-authoring-nav.tsx @@ -0,0 +1,56 @@ +import React from "react"; +import { clearLaunchListAuthoringData, getLaunchListAuthoringDownloadJSON, setLaunchListAuthoringId } from "../launch-list-api"; +import { LaunchList, LaunchListActivity } from "../types"; + +import "./launch-list-authoring-nav.scss"; + +interface IProps { + launchList?: LaunchList; + launchListAuthoringId: string; + launchListAuthoringActivities: LaunchListActivity[], + launchListAuthoringCacheList: string[], +} + +export class LaunchListAuthoringNav extends React.PureComponent { + render() { + const { launchList, launchListAuthoringId, launchListAuthoringActivities, launchListAuthoringCacheList } = this.props; + + const handleDownloadClicked = (e: React.MouseEvent) => { + const json = getLaunchListAuthoringDownloadJSON( + launchList?.name ?? "Untitled Launch List", + {activities: launchListAuthoringActivities, cacheList: launchListAuthoringCacheList.slice().sort()} + ); + const blob = new Blob([ JSON.stringify(json, null, 2) ], { type: "application/json" }); + e.currentTarget.href = URL.createObjectURL(blob); + }; + + const handleClearAuthoringId = () => { + if (confirm("Exit authoring (clears the launch list authoring id in localstorage)?")) { + setLaunchListAuthoringId("clear"); + window.location.reload(); + } + }; + + const handleClearAuthoringData = () => { + if (confirm("Are your SURE you want to clear ALL the saved authoring data?")) { + clearLaunchListAuthoringData(launchListAuthoringId); + window.location.reload(); + } + }; + + return ( +
+
+
+ Authoring: "{launchListAuthoringId}" ({launchListAuthoringActivities.length} activities / {launchListAuthoringCacheList.length} cached items) +
+
+ Download JSON + + +
+
+
+ ); + } +} diff --git a/src/components/launch-list-launcher.scss b/src/components/launch-list-launcher.scss new file mode 100644 index 00000000..046cf41c --- /dev/null +++ b/src/components/launch-list-launcher.scss @@ -0,0 +1,52 @@ +.launch-list-launcher { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: flex; + justify-content: center; + align-items: center; + + .background { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba($color: #000000, $alpha: 0.75); + } + + .dialog { + z-index: 1; + background-color: #fff; + padding: 20px; + color: #000; + min-width: 300px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + div { + margin: 10px 0; + } + + ul { + list-style-type: none; + margin: 0; + padding: 0; + cursor: pointer; + } + + li { + margin: 3px; + padding: 3px 10px; + } + + li:hover { + background-color: #aaa; + color: #fff; + } + } +} \ No newline at end of file diff --git a/src/components/launch-list-launcher.tsx b/src/components/launch-list-launcher.tsx new file mode 100644 index 00000000..dc1586c3 --- /dev/null +++ b/src/components/launch-list-launcher.tsx @@ -0,0 +1,52 @@ +import React from "react"; +import { getActivityDefinition } from "../lara-api"; +import { Activity, LaunchList, LaunchListActivity } from "../types"; + +import "./launch-list-launcher.scss"; + +const LaunchListLauncherDialogItem = (props: {activity: LaunchListActivity; onSelectLaunchListActivity: (activity: LaunchListActivity) => void}) => { + const handleSelectActivity = () => props.onSelectLaunchListActivity(props.activity); + return ( +
  • {props.activity.name}
  • + ); +}; + +interface IProps { + launchList: LaunchList; + onSelectActivity: (activity: Activity, url: string) => void; +} + +export class LaunchListLauncherDialog extends React.PureComponent { + + handleSelectLaunchListActivity = async (launchListActivity: LaunchListActivity) => { + const { onSelectActivity } = this.props; + try { + const activity = await getActivityDefinition(launchListActivity.url); + onSelectActivity(activity, launchListActivity.url); + } catch (e) { + alert("Error loading activity!"); + } + } + + render() { + const { launchList } = this.props; + + return ( +
    +
    +
    +
    + Select a {launchList.name} activity ... +
    +
    +
      + {launchList.activities.map(activity => + + )} +
    +
    +
    +
    + ); + } +} diff --git a/src/components/launch-list-loading-dialog.scss b/src/components/launch-list-loading-dialog.scss new file mode 100644 index 00000000..f67b6c90 --- /dev/null +++ b/src/components/launch-list-loading-dialog.scss @@ -0,0 +1,35 @@ +.launch-list-loading-dialog { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: flex; + justify-content: center; + align-items: center; + + .background { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba($color: #000000, $alpha: 0.75); + } + + .dialog { + z-index: 1; + background-color: #fff; + padding: 20px; + color: #000; + min-width: 300px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + div { + margin: 10px 0; + } + } +} \ No newline at end of file diff --git a/src/components/launch-list-loading-dialog.tsx b/src/components/launch-list-loading-dialog.tsx new file mode 100644 index 00000000..09ef7897 --- /dev/null +++ b/src/components/launch-list-loading-dialog.tsx @@ -0,0 +1,137 @@ +import React from "react"; +import { cacheLaunchList } from "../launch-list-api"; +import { LaunchList } from "../types"; +import { OnlineStatus } from "./app"; + +import "./launch-list-loading-dialog.scss"; + +interface IProps { + launchList: LaunchList; + online: OnlineStatus; + onClose: () => void; +} + +interface IState { + urlsToCache: string[]; + urlsCached: string[]; + urlsFailedToCache: string[]; + caching: boolean; +} + +export class LaunchListLoadingDialog extends React.Component { + constructor(props: IProps) { + super(props); + + this.state = { + urlsToCache: [], + urlsCached: [], + urlsFailedToCache: [], + caching: true, + }; + } + + componentDidMount() { + const { launchList } = this.props; + + cacheLaunchList({ + launchList, + onCachingStarted: (urls) => { + this.setState({urlsToCache: urls}); + }, + onUrlCached: (url) => { + this.setState((prevState) => ({urlsCached: prevState.urlsCached.concat(url)})); + }, + onUrlCacheFailed: (url, err) => { + this.setState((prevState) => ({urlsFailedToCache: prevState.urlsFailedToCache.concat(url)})); + }, + onAllUrlsCached: () => { + this.setState({caching: false}); + this.checkForAutoClose(this.props); + }, + onAllUrlsCacheFailed: (err) => { + this.setState({caching: false}); + } + }); + } + + UNSAFE_componentWillReceiveProps(nextProps: IProps) { + this.checkForAutoClose(nextProps); + } + + checkForAutoClose(props: IProps) { + if (!this.state.caching && (this.state.urlsFailedToCache.length === 0) && (props.online === "yes")) { + // allow the final render + setTimeout(() => props.onClose(), 0); + } + } + + renderOnlineStatus() { + const {online} = this.props; + + return ( +
    + Online: {online === "checking" ? "Checking ..." : (online === "yes" ? "Yes" : "No")} +
    + ); + } + + renderCaching() { + const { launchList } = this.props; + const { urlsToCache, urlsCached, urlsFailedToCache} = this.state; + + return ( + <> +
    + Loading {launchList.name} assets... +
    +
    + {urlsCached.length + urlsFailedToCache.length} of {urlsToCache.length} +
    + {urlsFailedToCache.length > 0 + ?
    {urlsFailedToCache.length} failed to load!
    + : undefined + } + + ); + } + + renderDoneCaching() { + const { onClose, launchList, online } = this.props; + const handleClose = () => onClose(); + const numFailedUrls = this.state.urlsFailedToCache.length; + const message = numFailedUrls === 0 ? "loading" : "attempting to load"; + + return ( + <> +
    + Finished {message} {launchList.name} assets +
    + {numFailedUrls > 0 + ? ( + <> +
    Sorry, you cannot continue.
    +
    {numFailedUrls} assets failed to load
    + + ) + : (online === "no" + ?
    + : undefined + ) + } + + ); + } + + render() { + const { caching } = this.state; + return ( +
    +
    +
    + {this.renderOnlineStatus()} + {caching ? this.renderCaching() : this.renderDoneCaching()} +
    +
    + ); + } +} diff --git a/src/firebase-db.ts b/src/firebase-db.ts index a8d1a29c..958eb804 100644 --- a/src/firebase-db.ts +++ b/src/firebase-db.ts @@ -10,6 +10,7 @@ import firebase from "firebase/app"; import "firebase/auth"; import "firebase/firestore"; +// import "firebase/database"; // TODO: add if we want to use for testing if connected import { IPortalData, IAnonymousPortalData, anonymousPortalData } from "./portal-api"; import { refIdToAnswersQuestionId } from "./utilities/embeddable-utils"; import { IExportableAnswerMetadata, LTIRuntimeAnswerMetadata, AnonymousRuntimeAnswerMetadata, IAuthenticatedLearnerPluginState, IAnonymousLearnerPluginState } from "./types"; @@ -360,3 +361,26 @@ export const setLearnerPluginState = async (pluginId: number, state: string): Pr return state; }; + +export const checkIfOnline = () => { + return new Promise((resolve) => { + /* + + DISABLED FOR NOW: need to decide if we also want to add both the size of the database import + and enable the database in the Firebase console. Use a POST request instead. + + const connectedRef = app.database().ref(".info/connected"); + return connectedRef.once("value") + .then(snap => resolve(snap.val() === true)) + .catch(() => resolve(false)); + */ + + // if online this will result in a 400 error due to the portal token not being included + // we don't care about the status code, just that we get a response to check if we are online + // NOTE: if this is the final method we need our own POST endpoint that returns 200 instead + // of using this (free) external service which may go down + return fetch("https://ipapi.co/json/", {method: "POST"}) + .then(() => resolve(true)) + .catch(() => resolve(false)); + }); +}; diff --git a/src/lara-api.ts b/src/lara-api.ts index 7cbd3c8f..d28c11b6 100644 --- a/src/lara-api.ts +++ b/src/lara-api.ts @@ -8,7 +8,7 @@ export const getActivityDefinition = (activity: string): Promise => { getActivityDefinitionFromLara(activity).then(resolve); } else { if (sampleActivities[activity]) { - setTimeout(() => resolve(sampleActivities[activity]), 250); + setTimeout(() => resolve(rewriteModelsResourcesUrls(sampleActivities[activity])), 250); } else { reject(`No sample activity matches ${activity}`); } @@ -16,6 +16,51 @@ export const getActivityDefinition = (activity: string): Promise => { }); }; +const walkActivity = (activityNode: any, stringCallback: (s: string) => string) => { + if (!activityNode) { + return; + } + if (activityNode instanceof Array) { + for (const i in activityNode) { + walkActivity(activityNode[i], stringCallback); + } + } else if (typeof activityNode === "object" ) { + Object.keys(activityNode).forEach(key => { + switch (typeof activityNode[key]) { + case "string": + activityNode[key] = stringCallback(activityNode[key]); + break; + case "object": + walkActivity(activityNode[key], stringCallback); + break; + } + }); + } else if (typeof activityNode === "string") { + activityNode = stringCallback(activityNode); + } +}; + +const rewriteModelsResourcesUrls = (activity: Activity) => { + walkActivity(activity, (s) => { + return s + .replace(/https?:\/\/models-resources\.concord\.org/, "models-resources") + .replace(/https?:\/\/models-resources\.s3\.amazonaws\.com/, "models-resources") + .replace(/https?:\/\/((.+)-plugin)\.concord\.org/, "models-resources/$1"); + + }); + return activity; +}; + +export const getAllUrlsInActivity = (activity: Activity, urls: string[] = []) => { + walkActivity(activity, (s) => { + if (/^(\s*https?:\/\/|models-resources)/.test(s)) { + urls.push(s); + } + return s; + }); + return urls; +}; + const getActivityDefinitionFromLara = (activityUrl: string): Promise => { return new Promise((resolve, reject) => { fetch(activityUrl) @@ -26,7 +71,7 @@ const getActivityDefinitionFromLara = (activityUrl: string): Promise = } response.json().then(function(data) { - resolve(data); + resolve(rewriteModelsResourcesUrls(data)); }); }) .catch(function(err) { diff --git a/src/launch-list-api.ts b/src/launch-list-api.ts new file mode 100644 index 00000000..2c5cc4d4 --- /dev/null +++ b/src/launch-list-api.ts @@ -0,0 +1,112 @@ +import { LaunchList, LaunchListActivity } from "./types"; + +export interface LaunchListAuthoringData { + activities: LaunchListActivity[]; + cacheList: string[] +} + +export const getLaunchListUrl = (launchListId: string): string => { + if (/^\s*https?:\/\//.test(launchListId)) { + return launchListId; + } + return `launch-lists/${launchListId}.json`; +}; + +export const getLaunchList = (launchListId: string): Promise => { + return new Promise((resolve, reject) => { + const launchListUrl = getLaunchListUrl(launchListId); + fetch(launchListUrl) + .then(response => { + if (response.status !== 200) { + reject(`Errored fetching ${launchListUrl}. Status Code: ${response.status}`); + return; + } + response.json().then(function(data) { + resolve(data); + }); + }) + .catch(function(err) { + reject(`Errored fetching ${launchListUrl}. ${err}`); + }); + }); +}; + +export interface cacheLaunchListOptions { + launchList: LaunchList; + onCachingStarted: (urls: string[]) => void; + onUrlCached: (url: string) => void; + onUrlCacheFailed: (url: string, err: any) => void; + onAllUrlsCached: () => void; + onAllUrlsCacheFailed: (errs: any) => void; +} + +export const cacheLaunchList = (options: cacheLaunchListOptions) => { + const {launchList, onCachingStarted, onUrlCached, onUrlCacheFailed, onAllUrlsCached, onAllUrlsCacheFailed} = options; + const urls = launchList.activities.map(a => a.url).concat(launchList.cacheList); + const loadingPromises = urls.map(url => { + return fetch(url) + .then(() => onUrlCached(url)) + .catch(err => onUrlCacheFailed(url, err)); + }); + onCachingStarted(urls); + return Promise.all(loadingPromises) + .then(() => onAllUrlsCached()) + .catch(err => onAllUrlsCacheFailed(err)); +}; + +export const LaunchListAuthoringIdKey = "launchListAuthoringId"; +export const LaunchListAuthoringDataKeyPrefix = "launchListAuthoringData:"; + +export const setLaunchListAuthoringId = (value: string | undefined) => { + if (value === "clear") { + window.localStorage.removeItem(LaunchListAuthoringIdKey); + } else if (value !== undefined) { + window.localStorage.setItem(LaunchListAuthoringIdKey, value); + } +}; + +export const getLaunchListAuthoringId = (): string|undefined => { + return window.localStorage.getItem(LaunchListAuthoringIdKey) || undefined; +}; + +export const getLaunchListAuthoringData = (authoringId: string): LaunchListAuthoringData => { + try { + const key = `${LaunchListAuthoringDataKeyPrefix}:${authoringId}`; + return JSON.parse(window.localStorage.getItem(key) || "fail"); + } catch (e) { + return ({ + activities: [], + cacheList: [] + }); + } +}; + +export const setLaunchListAuthoringData = (authoringId: string, data: LaunchListAuthoringData) => { + const key = `${LaunchListAuthoringDataKeyPrefix}:${authoringId}`; + window.localStorage.setItem(key, JSON.stringify(data)); +}; + +export const clearLaunchListAuthoringData = (authoringId: string) => { + const key = `${LaunchListAuthoringDataKeyPrefix}:${authoringId}`; + window.localStorage.removeItem(key); +}; + +export const getLaunchListAuthoringDownloadJSON = (name: string, data: LaunchListAuthoringData): LaunchList => { + const {activities, cacheList} = data; + return { name, activities, cacheList }; +}; + +export const mergeLaunchListWithAuthoringData = (launchList: LaunchList, authoringData: LaunchListAuthoringData) => { + const {activities, cacheList} = authoringData; + launchList.activities.forEach(activity => { + if (!activities.find(a => a.url === activity.url)) { + activities.push(activity); + } + }); + launchList.cacheList.forEach(url => { + if (!cacheList.find(item => item === url)) { + cacheList.push(url); + } + }); + return {activities, cacheList}; +}; diff --git a/src/public/launch-lists/smoke-test.json b/src/public/launch-lists/smoke-test.json new file mode 100644 index 00000000..22a32df4 --- /dev/null +++ b/src/public/launch-lists/smoke-test.json @@ -0,0 +1,70 @@ +{ + "name": "AP Smoke Test", + "activities": [ + { + "name": "AP Smoke Test", + "url": "https://authoring.staging.concord.org/api/v1/activities/20874.json" + } + ], + "cacheList": [ + "https://concord.org", + "https://concord.org/", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.googleapis.com/css?family=Roboto&display=swap", + "https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2", + "https://leaf-pack.concord.org/branch/main/", + "https://picsum.photos/200/300", + "https://placekitten.com/392/343", + "https://placekitten.com/50/60", + "https://placekitten.com/50/61", + "https://placekitten.com/50/62", + "https://placekitten.com/50/65", + "https://token-service-files.s3.amazonaws.com/glossary-plugin/OAZ4YMBC1ATNeAdUif8X/glossary.json", + "https://www.radiantmediaplayer.com/media/big-buck-bunny-360p.mp4", + "https://www.thelabradorsite.com/wp-content/uploads/2016/05/6t.jpg", + "models-resources/geniblocks/resources/fablevision/rooms/missioncontrol.jpg", + "models-resources/glossary-plugin/version/v3.11.0/manifest.json", + "models-resources/glossary-plugin/version/v3.11.0/plugin.js", + "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/question-interactives/branch/master/carousel/", + "models-resources/question-interactives/branch/master/carousel/assets/index.0b3b86dfd64d9a389752.css", + "models-resources/question-interactives/branch/master/carousel/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/drag-and-drop/", + "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.0b3b86dfd64d9a389752.css", + "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/drawing-tool/", + "models-resources/question-interactives/branch/master/drawing-tool/assets/index.0b3b86dfd64d9a389752.css", + "models-resources/question-interactives/branch/master/drawing-tool/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/fill-in-the-blank/", + "models-resources/question-interactives/branch/master/fill-in-the-blank/assets/index.0b3b86dfd64d9a389752.css", + "models-resources/question-interactives/branch/master/fill-in-the-blank/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/graph/", + "models-resources/question-interactives/branch/master/graph/assets/index.0b3b86dfd64d9a389752.css", + "models-resources/question-interactives/branch/master/graph/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/image-question/", + "models-resources/question-interactives/branch/master/image-question/assets/index.0b3b86dfd64d9a389752.css", + "models-resources/question-interactives/branch/master/image-question/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/image/", + "models-resources/question-interactives/branch/master/image/assets/index.0b3b86dfd64d9a389752.css", + "models-resources/question-interactives/branch/master/image/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/multiple-choice", + "models-resources/question-interactives/branch/master/multiple-choice/", + "models-resources/question-interactives/branch/master/multiple-choice/assets/index.0b3b86dfd64d9a389752.css", + "models-resources/question-interactives/branch/master/multiple-choice/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/open-response", + "models-resources/question-interactives/branch/master/open-response/", + "models-resources/question-interactives/branch/master/open-response/assets/index.0b3b86dfd64d9a389752.css", + "models-resources/question-interactives/branch/master/open-response/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/scaffolded-question/", + "models-resources/question-interactives/branch/master/scaffolded-question/assets/index.0b3b86dfd64d9a389752.css", + "models-resources/question-interactives/branch/master/scaffolded-question/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/video-player/", + "models-resources/question-interactives/branch/master/video-player/assets/index.0b3b86dfd64d9a389752.css", + "models-resources/question-interactives/branch/master/video-player/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js", + "models-resources/vortex/version/v1.2.0/lara-app/assets/index.58055ed0f7e706ef8da7.css", + "models-resources/vortex/version/v1.2.0/lara-app/assets/index.58055ed0f7e706ef8da7.js", + "models-resources/vortex/version/v1.2.0/lara-app/index.html" + ] +} \ No newline at end of file diff --git a/src/service-worker.ts b/src/service-worker.ts index f1580592..c0ed59c7 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -1,6 +1,15 @@ declare const self: ServiceWorkerGlobalScope; -import {precacheAndRoute} from "workbox-precaching"; +import { precacheAndRoute } from "workbox-precaching"; +import { registerRoute } from "workbox-routing"; +import { StaleWhileRevalidate } from "workbox-strategies"; +import { CacheableResponsePlugin } from "workbox-cacheable-response"; + +const ignoredGets: RegExp[] = [ + /\/sockjs-node\/info/, // webpack-dev-server + /\.hot-update\./, // webpack-dev-server + /\/firestore\.googleapis\.com\//, // firebase +]; // InjectManifest will add in the precache manifest here: precacheAndRoute((self as any).__WB_MANIFEST, { @@ -8,10 +17,40 @@ precacheAndRoute((self as any).__WB_MANIFEST, { ignoreURLParametersMatching: [/.*/] }); +// Cache all get requests +registerRoute( + ({ request }) => { + const isGet = request.method.toUpperCase() === "GET"; + const isIgnored = !!ignoredGets.find(ig => ig.test(request.url)); + const isCachable = isGet && !isIgnored; + if (isCachable) { + self.clients.matchAll({type: "window"}).then(clients => { + for (const client of clients) { + client.postMessage({type: "GET_REQUEST", url: request.url}); + } + }); + } + return isCachable; + }, + new StaleWhileRevalidate({ + cacheName: "cachedGets", + plugins: [ + // Ensure that only requests that result in a 200 status are cached + new CacheableResponsePlugin({ + statuses: [200], + }), + ], + }), +); + addEventListener("message", (event) => { - if (event.data && event.data.type === "SKIP_WAITING") { - console.log("Calling skipWaiting() from service worker..."); - self.skipWaiting(); + if (event.data) { + switch (event.data.type) { + case "SKIP_WAITING": + console.log("Calling skipWaiting() from service worker..."); + self.skipWaiting(); + break; + } } }); diff --git a/src/types.ts b/src/types.ts index 3c0dd0dd..edaa9707 100644 --- a/src/types.ts +++ b/src/types.ts @@ -263,3 +263,13 @@ export interface IAnonymousLearnerPluginState extends IAnonymousMetadataPartial pluginId: number; state: string; } + +export interface LaunchListActivity { + name: string; + url: string; +} +export interface LaunchList { + name: string + activities: LaunchListActivity[]; + cacheList: string[] +} \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js index ee206620..527d2484 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -14,6 +14,20 @@ const appVersionInfo = `Version ${version} (${gitRevPlugin.hash()})`; module.exports = (env, argv) => { const devMode = argv.mode !== "production"; + // This proxies the rewritten models-resources urls + // NOTE: the devServer config has to show up in the first entry returned for it to work + const devServer = { + proxy: { + "**/models-resources/**": { + target: "http://models-resources.concord.org", + secure: false, + changeOrigin: true, + pathRewrite: {"^.*/models-resources": ""}, + logLevel: "debug" + } + } + }; + return [ // service-worker (not auto-bundled but registered in app) { @@ -51,7 +65,8 @@ module.exports = (env, argv) => { }, resolve: { extensions: [ ".ts", ".js" ] - } + }, + devServer }, // index (auto-bundled into index.html) From a879b30f30c21d6efee8690427fe7ef7359bd8ed Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 16 Feb 2021 05:14:36 -0500 Subject: [PATCH 007/242] Fixed Cypress tests breaking when models-resources urls are rewritten --- src/components/app.tsx | 7 ++++--- src/lara-api.ts | 6 ++++++ src/utilities/cypress.ts | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 src/utilities/cypress.ts diff --git a/src/components/app.tsx b/src/components/app.tsx index 3b7fe2b5..9fd38a80 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -34,10 +34,11 @@ import { messageSW, Workbox } from "workbox-window"; import { getLaunchList, getLaunchListAuthoringData, getLaunchListAuthoringId, LaunchListAuthoringData, mergeLaunchListWithAuthoringData, setLaunchListAuthoringData, setLaunchListAuthoringId } from "../launch-list-api"; import { LaunchListLoadingDialog } from "./launch-list-loading-dialog"; import { LaunchListLauncherDialog } from "./launch-list-launcher"; - -import "./app.scss"; import { OfflineNav } from "./activity-header/offline-nav"; import { LaunchListAuthoringNav } from "./launch-list-authoring-nav"; +import { runningInCypress } from "../utilities/cypress"; + +import "./app.scss"; const kDefaultActivity = "sample-activity-multiple-layout-types"; // may eventually want to get rid of this const kDefaultIncompleteMessage = "Please submit an answer first."; @@ -123,7 +124,7 @@ export class App extends React.PureComponent { async UNSAFE_componentWillMount() { // disable the service worker during Cypress tests - otherwise timeout errors occur in several tests - const skipServiceWorker = !!(window as any).Cypress; + const skipServiceWorker = runningInCypress; if (!skipServiceWorker && ("serviceWorker" in navigator)) { const wb = new Workbox("service-worker.js"); diff --git a/src/lara-api.ts b/src/lara-api.ts index d28c11b6..7273349a 100644 --- a/src/lara-api.ts +++ b/src/lara-api.ts @@ -1,5 +1,6 @@ import { sampleActivities, sampleSequences } from "./data"; import { Activity, Sequence } from "./types"; +import { runningInCypress } from "./utilities/cypress"; export const getActivityDefinition = (activity: string): Promise => { return new Promise((resolve, reject) => { @@ -41,6 +42,11 @@ const walkActivity = (activityNode: any, stringCallback: (s: string) => string) }; const rewriteModelsResourcesUrls = (activity: Activity) => { + // do not rewrite urls when running in Cypress, otherwise the sample activity iframes do not load causing timeouts + if (runningInCypress) { + return activity; + } + walkActivity(activity, (s) => { return s .replace(/https?:\/\/models-resources\.concord\.org/, "models-resources") diff --git a/src/utilities/cypress.ts b/src/utilities/cypress.ts new file mode 100644 index 00000000..81a5cd44 --- /dev/null +++ b/src/utilities/cypress.ts @@ -0,0 +1 @@ +export const runningInCypress = !!(window as any).Cypress; From a414d0f377098334ab0dcb3a39ec44581094800c Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 16 Feb 2021 07:35:05 -0500 Subject: [PATCH 008/242] Added Cypress tests for launch lists --- cypress/integration/launch-list.test.ts | 57 +++++++++++++++++++ cypress/support/elements/activity-page.js | 16 ++++++ cypress/support/index.d.ts | 29 ++++++++++ cypress/support/index.js | 3 + package-lock.json | 6 ++ package.json | 1 + src/components/launch-list-authoring-nav.tsx | 13 +++-- src/components/launch-list-loading-dialog.tsx | 1 + src/launch-list-api.ts | 8 ++- src/public/launch-lists/smoke-test.json | 6 +- 10 files changed, 127 insertions(+), 13 deletions(-) create mode 100644 cypress/integration/launch-list.test.ts create mode 100644 cypress/support/index.d.ts diff --git a/cypress/integration/launch-list.test.ts b/cypress/integration/launch-list.test.ts new file mode 100644 index 00000000..bb436a82 --- /dev/null +++ b/cypress/integration/launch-list.test.ts @@ -0,0 +1,57 @@ +import ActivityPage from "../support/elements/activity-page"; + +const activityPage = new ActivityPage; + +context("Test setting launch list authoring id in local storage", () => { + + describe("setLaunchListAuthoringId",() => { + it("verify id is set when query parameter is given",() => { + cy.visit("?setLaunchListAuthoringId=test-authoring-id"); + cy.saveLocalStorage(); + activityPage.getLaunchListAuthoringNav().should("be.visible") + .and("contain", "test-authoring-id") + .and("contain", "Download JSON") + .and("contain", "Clear Authoring Data") + .and("contain", "Exit Authoring"); + }); + + it("verify id is set on subsequent loads",() => { + cy.restoreLocalStorage(); + cy.visit(""); + activityPage.getLaunchListAuthoringNav().should("be.visible").and("contain", "test-authoring-id"); + }); + + it("verify id is cleared when exit authoring is clicked",() => { + cy.restoreLocalStorage(); + cy.visit(""); + activityPage.getLaunchListAuthoringNav().should("be.visible").and("contain", "test-authoring-id"); + activityPage.getLaunchListExitAuthoringButton().should("be.visible"); + activityPage.getLaunchListExitAuthoringButton().click(); + activityPage.getLaunchListAuthoringNav({timeout: 0}).should("not.exist"); + }); + }); +}); + +context("Test using launch lists", () => { + + describe("launchList",() => { + it("verify launch list if loaded when query parameter is given",() => { + cy.visit("?launchList=smoke-test"); + + // verify loading dialog shows and then auto closes + activityPage.getLaunchListLoadingDialog().should("be.visible").and("contain", "AP Smoke Test"); + + // verify launch list shows + activityPage.getLaunchListLauncher().should("be.visible").and("contain", "AP Smoke Test"); + }); + + it("verify launch list launcher shows and clicking an item loads it",() => { + cy.visit("?launchList=smoke-test"); + + // verify clicking on activity loads it and closes the launcher + activityPage.getActivityTitle({timeout: 0}).should("not.exist"); + activityPage.getLaunchListLauncher().contains("Activity 1").click(); + activityPage.getActivityTitle().should("be.visible").and("contain", "AP Smoke Test"); + }); + }); +}); diff --git a/cypress/support/elements/activity-page.js b/cypress/support/elements/activity-page.js index 1622bd59..157dc2b5 100644 --- a/cypress/support/elements/activity-page.js +++ b/cypress/support/elements/activity-page.js @@ -28,5 +28,21 @@ class ActivityPage { getModalDialogClose() { return cy.get("[data-cy=modal-dialog-close"); } + getLaunchListAuthoringNav(options) { + return cy.get("[data-cy=launch-list-authoring-nav", options); + } + getLaunchListExitAuthoringButton() { + return cy.get("[data-cy=launch-list-exit-authoring-button"); + } + getLaunchListLoadingDialog(options) { + return cy.get("[data-cy=launch-list-loading-dialog", options); + } + getLaunchListLauncher(options) { + return cy.get("[data-cy=launch-list-launcher", options); + } + getActivityTitle(options) { + return cy.get("[data-cy=activity-title", options); + } + } export default ActivityPage; diff --git a/cypress/support/index.d.ts b/cypress/support/index.d.ts new file mode 100644 index 00000000..5fc01cd2 --- /dev/null +++ b/cypress/support/index.d.ts @@ -0,0 +1,29 @@ +/// + +// extend Cypress with commands from cypress-localstorage-commands package + +declare namespace Cypress { + interface Chainable { + + /** + * Saves current localStorage values into an internal "snapshot". + * @example + * cy.saveLocalStorage() + */ + saveLocalStorage(): Chainable + + /** + * Restores localStorage to previously "snapshot" saved values. + * @example + * cy.restoreLocalStorage() + */ + restoreLocalStorage(): Chainable + + /** + * Clears localStorage "snapshot" values, so previously saved values are cleaned. + * @example + * cy.clearLocalStorageSnapshot() + */ + clearLocalStorageSnapshot(): Chainable + } +} diff --git a/cypress/support/index.js b/cypress/support/index.js index 8ff6b318..30e044bc 100644 --- a/cypress/support/index.js +++ b/cypress/support/index.js @@ -1,6 +1,9 @@ // add code coverage support import "@cypress/code-coverage/support"; +// add localstorage commands +import "cypress-localstorage-commands" + Cypress.on("uncaught:exception", (err, runnable) => { // returning false here prevents Cypress from // failing the test diff --git a/package-lock.json b/package-lock.json index 32540dbb..52628d95 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10900,6 +10900,12 @@ } } }, + "cypress-localstorage-commands": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cypress-localstorage-commands/-/cypress-localstorage-commands-1.4.0.tgz", + "integrity": "sha512-gJfi4M77WGaCdqLR0lcocG4ARqDwEyNZbSXI1ipp2VYAYbUzV6VoNjtKkh800Aabz181MknkBISd54S2fMaILw==", + "dev": true + }, "dash-ast": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", diff --git a/package.json b/package.json index 5c194384..a4d7f793 100644 --- a/package.json +++ b/package.json @@ -102,6 +102,7 @@ "copy-webpack-plugin": "^6.1.0", "css-loader": "^4.3.0", "cypress": "^6.3.0", + "cypress-localstorage-commands": "^1.4.0", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.4", "eslint": "^7.9.0", diff --git a/src/components/launch-list-authoring-nav.tsx b/src/components/launch-list-authoring-nav.tsx index 80df7dff..73dbec77 100644 --- a/src/components/launch-list-authoring-nav.tsx +++ b/src/components/launch-list-authoring-nav.tsx @@ -1,6 +1,7 @@ import React from "react"; -import { clearLaunchListAuthoringData, getLaunchListAuthoringDownloadJSON, setLaunchListAuthoringId } from "../launch-list-api"; +import { clearLaunchListAuthoringData, clearLaunchListAuthoringId, getLaunchListAuthoringDownloadJSON } from "../launch-list-api"; import { LaunchList, LaunchListActivity } from "../types"; +import queryString from "query-string"; import "./launch-list-authoring-nav.scss"; @@ -26,8 +27,10 @@ export class LaunchListAuthoringNav extends React.PureComponent { const handleClearAuthoringId = () => { if (confirm("Exit authoring (clears the launch list authoring id in localstorage)?")) { - setLaunchListAuthoringId("clear"); - window.location.reload(); + clearLaunchListAuthoringId(); + const query = queryString.parse(window.location.search); + delete query.setLaunchListAuthoringId; + window.location.replace(`?${queryString.stringify(query)}`); } }; @@ -39,7 +42,7 @@ export class LaunchListAuthoringNav extends React.PureComponent { }; return ( -
    +
    Authoring: "{launchListAuthoringId}" ({launchListAuthoringActivities.length} activities / {launchListAuthoringCacheList.length} cached items) @@ -47,7 +50,7 @@ export class LaunchListAuthoringNav extends React.PureComponent {
    Download JSON - +
    diff --git a/src/components/launch-list-loading-dialog.tsx b/src/components/launch-list-loading-dialog.tsx index 09ef7897..25f9beab 100644 --- a/src/components/launch-list-loading-dialog.tsx +++ b/src/components/launch-list-loading-dialog.tsx @@ -42,6 +42,7 @@ export class LaunchListLoadingDialog extends React.Component { this.setState((prevState) => ({urlsCached: prevState.urlsCached.concat(url)})); }, onUrlCacheFailed: (url, err) => { + console.error("Failed to cache:", url); this.setState((prevState) => ({urlsFailedToCache: prevState.urlsFailedToCache.concat(url)})); }, onAllUrlsCached: () => { diff --git a/src/launch-list-api.ts b/src/launch-list-api.ts index 2c5cc4d4..4a693531 100644 --- a/src/launch-list-api.ts +++ b/src/launch-list-api.ts @@ -58,13 +58,15 @@ export const LaunchListAuthoringIdKey = "launchListAuthoringId"; export const LaunchListAuthoringDataKeyPrefix = "launchListAuthoringData:"; export const setLaunchListAuthoringId = (value: string | undefined) => { - if (value === "clear") { - window.localStorage.removeItem(LaunchListAuthoringIdKey); - } else if (value !== undefined) { + if (value !== undefined) { window.localStorage.setItem(LaunchListAuthoringIdKey, value); } }; +export const clearLaunchListAuthoringId = () => { + window.localStorage.removeItem(LaunchListAuthoringIdKey); +}; + export const getLaunchListAuthoringId = (): string|undefined => { return window.localStorage.getItem(LaunchListAuthoringIdKey) || undefined; }; diff --git a/src/public/launch-lists/smoke-test.json b/src/public/launch-lists/smoke-test.json index 22a32df4..d7b1fd6b 100644 --- a/src/public/launch-lists/smoke-test.json +++ b/src/public/launch-lists/smoke-test.json @@ -2,13 +2,11 @@ "name": "AP Smoke Test", "activities": [ { - "name": "AP Smoke Test", + "name": "Activity 1", "url": "https://authoring.staging.concord.org/api/v1/activities/20874.json" } ], "cacheList": [ - "https://concord.org", - "https://concord.org/", "https://fonts.googleapis.com/css?family=Lato", "https://fonts.googleapis.com/css?family=Roboto&display=swap", "https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2", @@ -47,11 +45,9 @@ "models-resources/question-interactives/branch/master/image/", "models-resources/question-interactives/branch/master/image/assets/index.0b3b86dfd64d9a389752.css", "models-resources/question-interactives/branch/master/image/assets/index.0b3b86dfd64d9a389752.js", - "models-resources/question-interactives/branch/master/multiple-choice", "models-resources/question-interactives/branch/master/multiple-choice/", "models-resources/question-interactives/branch/master/multiple-choice/assets/index.0b3b86dfd64d9a389752.css", "models-resources/question-interactives/branch/master/multiple-choice/assets/index.0b3b86dfd64d9a389752.js", - "models-resources/question-interactives/branch/master/open-response", "models-resources/question-interactives/branch/master/open-response/", "models-resources/question-interactives/branch/master/open-response/assets/index.0b3b86dfd64d9a389752.css", "models-resources/question-interactives/branch/master/open-response/assets/index.0b3b86dfd64d9a389752.js", From 0aa2899d584be30696614853b1b5a9454e85436c Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 16 Feb 2021 12:49:04 -0500 Subject: [PATCH 009/242] Added offline query parameter and launchList id saving in localstorage --- src/components/app.tsx | 43 +++++++++++-------- src/components/launch-list-loading-dialog.tsx | 42 ++++++------------ src/launch-list-api.ts | 8 ++++ 3 files changed, 44 insertions(+), 49 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 9fd38a80..fd6a7533 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -14,7 +14,7 @@ import { WarningBanner } from "./warning-banner"; import { CompletionPageContent } from "./activity-completion/completion-page-content"; import { queryValue, queryValueBoolean } from "../utilities/url-query"; import { fetchPortalData, IPortalData, firebaseAppName } from "../portal-api"; -import { signInWithToken, initializeDB, setPortalData, initializeAnonymousDB, onFirestoreSaveTimeout, onFirestoreSaveAfterTimeout, checkIfOnline } from "../firebase-db"; +import { signInWithToken, initializeDB, setPortalData, initializeAnonymousDB, onFirestoreSaveTimeout, onFirestoreSaveAfterTimeout } from "../firebase-db"; import { Activity, IEmbeddablePlugin, LaunchList, LaunchListActivity, Sequence } from "../types"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; @@ -31,12 +31,11 @@ import { Logger, LogEventName } from "../lib/logger"; import { GlossaryPlugin } from "../components/activity-page/plugins/glossary-plugin"; import { IdleDetector } from "../utilities/idle-detector"; import { messageSW, Workbox } from "workbox-window"; -import { getLaunchList, getLaunchListAuthoringData, getLaunchListAuthoringId, LaunchListAuthoringData, mergeLaunchListWithAuthoringData, setLaunchListAuthoringData, setLaunchListAuthoringId } from "../launch-list-api"; +import { getLaunchList, getLaunchListAuthoringData, getLaunchListAuthoringId, getLaunchListId, LaunchListAuthoringData, mergeLaunchListWithAuthoringData, setLaunchListAuthoringData, setLaunchListAuthoringId, setLaunchListId } from "../launch-list-api"; import { LaunchListLoadingDialog } from "./launch-list-loading-dialog"; import { LaunchListLauncherDialog } from "./launch-list-launcher"; import { OfflineNav } from "./activity-header/offline-nav"; import { LaunchListAuthoringNav } from "./launch-list-authoring-nav"; -import { runningInCypress } from "../utilities/cypress"; import "./app.scss"; @@ -52,8 +51,6 @@ const kLearnPortalUrl = "https://learn.concord.org"; export type ErrorType = "auth" | "network" | "timeout"; -export type OnlineStatus = "checking" | "yes" | "no"; - interface IncompleteQuestion { refId: string; navOptions: INavigationOptions; @@ -78,10 +75,11 @@ interface IState { pluginsLoaded: boolean; errorType: null | ErrorType; idle: boolean; - online: OnlineStatus; + offlineMode: boolean; launchListAuthoringId?: string; launchListAuthoringActivities: LaunchListActivity[]; launchListAuthoringCacheList: string[]; + showLaunchListInstallConfimation: boolean; } interface IProps {} @@ -105,9 +103,10 @@ export class App extends React.PureComponent { errorType: null, idle: false, loadingLaunchList: false, - online: "checking", + offlineMode: queryValue("offline") === "true", launchListAuthoringActivities: [], launchListAuthoringCacheList: [], + showLaunchListInstallConfimation: queryValue("confirmLaunchListInstall") === "true" }; } @@ -123,8 +122,8 @@ export class App extends React.PureComponent { } async UNSAFE_componentWillMount() { - // disable the service worker during Cypress tests - otherwise timeout errors occur in several tests - const skipServiceWorker = runningInCypress; + // only enable the service worker in offline mode + const skipServiceWorker = !this.state.offlineMode; if (!skipServiceWorker && ("serviceWorker" in navigator)) { const wb = new Workbox("service-worker.js"); @@ -206,11 +205,16 @@ export class App extends React.PureComponent { } let launchList: LaunchList | undefined = undefined; - const launchListId = queryValue("launchList"); + const launchListId = queryValue("launchList") || getLaunchListId(); const loadingLaunchList = !!launchListId; if (launchListId) { launchList = await getLaunchList(launchListId); + // save the launch list in offline mode so the PWA + if (this.state.offlineMode) { + setLaunchListId(launchListId); + } + // merge the launch list data into the saved data if (launchList && launchListAuthoringId && launchListAuthoringData) { launchListAuthoringData = mergeLaunchListWithAuthoringData(launchList, launchListAuthoringData); @@ -279,6 +283,7 @@ export class App extends React.PureComponent { } catch (err) { this.setError("auth", err); } + // TDB: add else case to handle offline authentication when this.state.offlineMode is true } else { try { await initializeAnonymousDB(preview); @@ -287,11 +292,6 @@ export class App extends React.PureComponent { } } - // TODO: if using Firebase (which it is not right now) this needs to run after Firebase is initialized - // if the POST request method is use this can be moved higher in the function - const online = await checkIfOnline(); - this.setState({online: online ? "yes" : "no"}); - if (!preview) { // Notify user about network issues. Note that in preview mode Firestore network is disabled, so it doesn't // make sense to track requests. @@ -350,10 +350,10 @@ export class App extends React.PureComponent { } private renderContent = () => { - const {launchList, loadingLaunchList, online, activity, showSequenceIntro, sequence, username} = this.state; + const {launchList, loadingLaunchList, activity, showSequenceIntro, sequence, username, offlineMode, showLaunchListInstallConfimation} = this.state; if (launchList) { if (loadingLaunchList) { - return ; + return ; } else if (activity) { return this.renderActivity(); } else { @@ -365,6 +365,11 @@ export class App extends React.PureComponent { }; return ; } + } else if (offlineMode) { + if (loadingLaunchList) { + return
    Loading launch list...
    ; + } + return
    TODO: handle case were PWA does not have a launch list saved
    ; } else if (showSequenceIntro) { return ; } else { @@ -373,7 +378,7 @@ export class App extends React.PureComponent { } private renderActivity = () => { - const { activity, idle, errorType, currentPage, username, pluginsLoaded, teacherEditionMode, sequence, portalData, online, launchList } = this.state; + const { activity, idle, errorType, currentPage, username, pluginsLoaded, teacherEditionMode, sequence, portalData, offlineMode } = this.state; if (!activity) return (
    Loading activity ...
    ); const totalPreviousQuestions = numQuestionsOnPreviousPages(currentPage, activity); const fullWidth = (currentPage !== 0) && (activity.pages[currentPage - 1].layout === PageLayouts.Responsive); @@ -383,7 +388,7 @@ export class App extends React.PureComponent { return ( - {(online === "no") && launchList ? : undefined} + {offlineMode && }
    void; + showLaunchListInstallConfimation: boolean; } interface IState { @@ -60,22 +59,14 @@ export class LaunchListLoadingDialog extends React.Component { } checkForAutoClose(props: IProps) { - if (!this.state.caching && (this.state.urlsFailedToCache.length === 0) && (props.online === "yes")) { + const {caching, urlsFailedToCache} = this.state; + const {showLaunchListInstallConfimation} = this.props; + if (!caching && (urlsFailedToCache.length === 0) && !showLaunchListInstallConfimation) { // allow the final render setTimeout(() => props.onClose(), 0); } } - renderOnlineStatus() { - const {online} = this.props; - - return ( -
    - Online: {online === "checking" ? "Checking ..." : (online === "yes" ? "Yes" : "No")} -
    - ); - } - renderCaching() { const { launchList } = this.props; const { urlsToCache, urlsCached, urlsFailedToCache} = this.state; @@ -88,17 +79,13 @@ export class LaunchListLoadingDialog extends React.Component {
    {urlsCached.length + urlsFailedToCache.length} of {urlsToCache.length}
    - {urlsFailedToCache.length > 0 - ?
    {urlsFailedToCache.length} failed to load!
    - : undefined - } + {urlsFailedToCache.length > 0 &&
    {urlsFailedToCache.length} failed to load!
    } ); } renderDoneCaching() { - const { onClose, launchList, online } = this.props; - const handleClose = () => onClose(); + const { launchList } = this.props; const numFailedUrls = this.state.urlsFailedToCache.length; const message = numFailedUrls === 0 ? "loading" : "attempting to load"; @@ -108,16 +95,12 @@ export class LaunchListLoadingDialog extends React.Component { Finished {message} {launchList.name} assets
    {numFailedUrls > 0 - ? ( - <> -
    Sorry, you cannot continue.
    -
    {numFailedUrls} assets failed to load
    - - ) - : (online === "no" - ?
    - : undefined - ) + ? + <> +
    Sorry, you cannot continue.
    +
    {numFailedUrls} assets failed to load
    + + :
    Everything is installed!
    } ); @@ -129,7 +112,6 @@ export class LaunchListLoadingDialog extends React.Component {
    - {this.renderOnlineStatus()} {caching ? this.renderCaching() : this.renderDoneCaching()}
    diff --git a/src/launch-list-api.ts b/src/launch-list-api.ts index 4a693531..98e48799 100644 --- a/src/launch-list-api.ts +++ b/src/launch-list-api.ts @@ -54,9 +54,17 @@ export const cacheLaunchList = (options: cacheLaunchListOptions) => { .catch(err => onAllUrlsCacheFailed(err)); }; +export const LaunchListCurrentIdKey = "launchListCurrentId"; export const LaunchListAuthoringIdKey = "launchListAuthoringId"; export const LaunchListAuthoringDataKeyPrefix = "launchListAuthoringData:"; +export const setLaunchListId = (value: string) => { + window.localStorage.setItem(LaunchListCurrentIdKey, value); +}; +export const getLaunchListId = () => { + return window.localStorage.getItem(LaunchListCurrentIdKey) || undefined; +}; + export const setLaunchListAuthoringId = (value: string | undefined) => { if (value !== undefined) { window.localStorage.setItem(LaunchListAuthoringIdKey, value); From 89a8d9359eb88ed18bc6987fe07fbe04d28e0139 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 16 Feb 2021 12:58:50 -0500 Subject: [PATCH 010/242] Added section about offline mode to the readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index ad587382..c0e472c4 100644 --- a/README.md +++ b/README.md @@ -163,6 +163,11 @@ The Activity Player json loader code rewrites any urls it finds that fit the fol * https?:\/\/models-resources\.s3\.amazonaws\.com/ => "models-resources" * https?:\/\/((.+)-plugin)\.concord\.org/ => "models-resources/$1" +### Offline Mode + +The application can be placed in "offline" mode by specifying a `offline=true` query parameter. This currently causes a header nav to display and saves any launchList query parameter passed. In the future this flag will also control how student data is saved and sent to the portal. + +The installed PWA will use `/?offline=true` as its start_url in the `manifest.json` file. This will cause all desktop launches to run in offline mode. In order to use the PWA version a launch list must first be installed using the following combinations of query parameters: `?offline=true&launchList=`. An optional parameter of `confirmLaunchListInstall=true` can also be used to not auto close the loading dialog and instead show a message that everything is installed once all the assets are downloaded into the cache. The next launch of the PWA will use the last launchList value saved in localstorage if it is not found in the query string (which it won't be as it is always just `?offline-true`). ## License From 0743ecaa604e806b2a91caafd12872d7136d752f Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 17 Feb 2021 06:35:11 -0500 Subject: [PATCH 011/242] Updates from PR comments - Moved activity walking functions from lara api file to the existing activity utils file - Replaced temp activity variable with additional if check --- src/components/app.tsx | 15 +++++----- src/lara-api.ts | 52 +-------------------------------- src/utilities/activity-utils.ts | 51 ++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 58 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index fd6a7533..94570783 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -6,8 +6,8 @@ import { SequenceNav } from "./activity-header/sequence-nav"; import { ActivityPageContent } from "./activity-page/activity-page-content"; import { IntroductionPageContent } from "./activity-introduction/introduction-page-content"; import { Footer } from "./activity-introduction/footer"; -import { ActivityLayouts, PageLayouts, numQuestionsOnPreviousPages, enableReportButton, setDocumentTitle, getPagePositionFromQueryValue } from "../utilities/activity-utils"; -import { getActivityDefinition, getAllUrlsInActivity, getSequenceDefinition } from "../lara-api"; +import { ActivityLayouts, PageLayouts, numQuestionsOnPreviousPages, enableReportButton, setDocumentTitle, getPagePositionFromQueryValue, getAllUrlsInActivity } from "../utilities/activity-utils"; +import { getActivityDefinition, getSequenceDefinition } from "../lara-api"; import { ThemeButtons } from "./theme-buttons"; import { SinglePageContent } from "./single-page/single-page-content"; import { WarningBanner } from "./warning-banner"; @@ -210,7 +210,7 @@ export class App extends React.PureComponent { if (launchListId) { launchList = await getLaunchList(launchListId); - // save the launch list in offline mode so the PWA + // save the launch list in offline mode so the PWA knows which launch list to show if (this.state.offlineMode) { setLaunchListId(launchListId); } @@ -248,7 +248,7 @@ export class App extends React.PureComponent { const showThemeButtons = queryValueBoolean("themeButtons"); // Show the warning if we are not running on production (disable for now) - const showWarning = false && (firebaseAppName() !== "report-service-pro"); + const showWarning = firebaseAppName() !== "report-service-pro"; const teacherEditionMode = queryValue("mode")?.toLowerCase( )=== "teacher-edition"; // Teacher Edition mode is equal to preview mode. RunKey won't be used and the data won't be persisted. const preview = queryValueBoolean("preview") || teacherEditionMode; @@ -304,9 +304,10 @@ export class App extends React.PureComponent { this.LARA = initializeLara(); if (activity) { - const _activity = activity; // to keep eslint happy with activity parameter of loadPluginScripts - loadLearnerPluginState(_activity, teacherEditionMode).then(() => { - loadPluginScripts(this.LARA, _activity, this.handleLoadPlugins, teacherEditionMode); + loadLearnerPluginState(activity, teacherEditionMode).then(() => { + if (activity) { + loadPluginScripts(this.LARA, activity, this.handleLoadPlugins, teacherEditionMode); + } }); } diff --git a/src/lara-api.ts b/src/lara-api.ts index 7273349a..6ba3177f 100644 --- a/src/lara-api.ts +++ b/src/lara-api.ts @@ -1,6 +1,6 @@ import { sampleActivities, sampleSequences } from "./data"; import { Activity, Sequence } from "./types"; -import { runningInCypress } from "./utilities/cypress"; +import { rewriteModelsResourcesUrls } from "./utilities/activity-utils"; export const getActivityDefinition = (activity: string): Promise => { return new Promise((resolve, reject) => { @@ -17,56 +17,6 @@ export const getActivityDefinition = (activity: string): Promise => { }); }; -const walkActivity = (activityNode: any, stringCallback: (s: string) => string) => { - if (!activityNode) { - return; - } - if (activityNode instanceof Array) { - for (const i in activityNode) { - walkActivity(activityNode[i], stringCallback); - } - } else if (typeof activityNode === "object" ) { - Object.keys(activityNode).forEach(key => { - switch (typeof activityNode[key]) { - case "string": - activityNode[key] = stringCallback(activityNode[key]); - break; - case "object": - walkActivity(activityNode[key], stringCallback); - break; - } - }); - } else if (typeof activityNode === "string") { - activityNode = stringCallback(activityNode); - } -}; - -const rewriteModelsResourcesUrls = (activity: Activity) => { - // do not rewrite urls when running in Cypress, otherwise the sample activity iframes do not load causing timeouts - if (runningInCypress) { - return activity; - } - - walkActivity(activity, (s) => { - return s - .replace(/https?:\/\/models-resources\.concord\.org/, "models-resources") - .replace(/https?:\/\/models-resources\.s3\.amazonaws\.com/, "models-resources") - .replace(/https?:\/\/((.+)-plugin)\.concord\.org/, "models-resources/$1"); - - }); - return activity; -}; - -export const getAllUrlsInActivity = (activity: Activity, urls: string[] = []) => { - walkActivity(activity, (s) => { - if (/^(\s*https?:\/\/|models-resources)/.test(s)) { - urls.push(s); - } - return s; - }); - return urls; -}; - const getActivityDefinitionFromLara = (activityUrl: string): Promise => { return new Promise((resolve, reject) => { fetch(activityUrl) diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index 6102965b..82160261 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -1,6 +1,7 @@ import { Page, Activity, EmbeddableWrapper } from "../types"; import { SidebarConfiguration } from "../components/page-sidebar/sidebar-wrapper"; import { isQuestion as isEmbeddableQuestion } from "./embeddable-utils"; +import { runningInCypress } from "./cypress"; export enum ActivityLayouts { MultiplePages = 0, @@ -163,3 +164,53 @@ export const getPagePositionFromQueryValue = (activity: Activity, pageQueryValue // note that page is 1 based for the actual pages in the activity. return Math.max(0, Math.min((parseInt(pageQueryValue, 10) || 0), activity.pages.length)); }; + +export const walkActivity = (activityNode: any, stringCallback: (s: string) => string) => { + if (!activityNode) { + return; + } + if (activityNode instanceof Array) { + for (const i in activityNode) { + walkActivity(activityNode[i], stringCallback); + } + } else if (typeof activityNode === "object" ) { + Object.keys(activityNode).forEach(key => { + switch (typeof activityNode[key]) { + case "string": + activityNode[key] = stringCallback(activityNode[key]); + break; + case "object": + walkActivity(activityNode[key], stringCallback); + break; + } + }); + } else if (typeof activityNode === "string") { + activityNode = stringCallback(activityNode); + } +}; + +export const rewriteModelsResourcesUrls = (activity: Activity) => { + // do not rewrite urls when running in Cypress, otherwise the sample activity iframes do not load causing timeouts + if (runningInCypress) { + return activity; + } + + walkActivity(activity, (s) => { + return s + .replace(/https?:\/\/models-resources\.concord\.org/, "models-resources") + .replace(/https?:\/\/models-resources\.s3\.amazonaws\.com/, "models-resources") + .replace(/https?:\/\/((.+)-plugin)\.concord\.org/, "models-resources/$1"); + + }); + return activity; +}; + +export const getAllUrlsInActivity = (activity: Activity, urls: string[] = []) => { + walkActivity(activity, (s) => { + if (/^(\s*https?:\/\/|models-resources)/.test(s)) { + urls.push(s); + } + return s; + }); + return urls; +}; \ No newline at end of file From 9dd06c09974f3fd932369ad168b39f8abca0910f Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 17 Feb 2021 07:20:51 -0500 Subject: [PATCH 012/242] Fixed lint error of no newline at end of file --- src/utilities/activity-utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index 82160261..97a580e9 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -213,4 +213,4 @@ export const getAllUrlsInActivity = (activity: Activity, urls: string[] = []) => return s; }); return urls; -}; \ No newline at end of file +}; From 45021fed6421c56939060f0d71f07d3c1f005598 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 17 Feb 2021 07:17:01 -0500 Subject: [PATCH 013/242] Added manifest.json for PWA installation [#176575777] --- src/index.html | 1 + src/public/icons/android-icon-192x192.png | Bin 0 -> 12719 bytes src/public/icons/apple-icon-114x114.png | Bin 0 -> 6826 bytes src/public/icons/apple-icon-120x120.png | Bin 0 -> 7179 bytes src/public/icons/apple-icon-144x144.png | Bin 0 -> 9002 bytes src/public/icons/apple-icon-152x152.png | Bin 0 -> 9562 bytes src/public/icons/apple-icon-180x180.png | Bin 0 -> 11875 bytes src/public/icons/apple-icon-57x57.png | Bin 0 -> 3123 bytes src/public/icons/apple-icon-60x60.png | Bin 0 -> 3261 bytes src/public/icons/apple-icon-72x72.png | Bin 0 -> 4072 bytes src/public/icons/apple-icon-76x76.png | Bin 0 -> 4245 bytes src/public/icons/favicon-16x16.png | Bin 0 -> 728 bytes src/public/icons/favicon-32x32.png | Bin 0 -> 1620 bytes src/public/icons/favicon-96x96.png | Bin 0 -> 5565 bytes src/public/manifest.json | 80 ++++++++++++++++++++++ 15 files changed, 81 insertions(+) create mode 100644 src/public/icons/android-icon-192x192.png create mode 100644 src/public/icons/apple-icon-114x114.png create mode 100644 src/public/icons/apple-icon-120x120.png create mode 100644 src/public/icons/apple-icon-144x144.png create mode 100644 src/public/icons/apple-icon-152x152.png create mode 100644 src/public/icons/apple-icon-180x180.png create mode 100644 src/public/icons/apple-icon-57x57.png create mode 100644 src/public/icons/apple-icon-60x60.png create mode 100644 src/public/icons/apple-icon-72x72.png create mode 100644 src/public/icons/apple-icon-76x76.png create mode 100644 src/public/icons/favicon-16x16.png create mode 100644 src/public/icons/favicon-32x32.png create mode 100644 src/public/icons/favicon-96x96.png create mode 100644 src/public/manifest.json diff --git a/src/index.html b/src/index.html index 449ba7cb..8c675e24 100644 --- a/src/index.html +++ b/src/index.html @@ -7,6 +7,7 @@ + diff --git a/src/public/icons/android-icon-192x192.png b/src/public/icons/android-icon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..21f4db89d4f1ca57bb9777d2f93c920d29d5370b GIT binary patch literal 12719 zcmV;gF;LElP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>DF+@p3K~#8N?VSmD zRMpwX4|U&n>%MQFTCH_y)z4b1>>%oi5dHm5MOSf_I@~kQTE3C!_bclnE+m2fg#^Bo zs3q~sM9^_%L?=>Hg5=s8`LE{YYnzOD9$4huV*vd zD1Nb#3dM-3fbd5Kh=bH6GH#XG;^%Z9Z`1uG_3usL7pp?K;tX{u&swsr>>v)JOr6y% zlWl+sRTYWwZ`6nQl^mRzR$3enD`7#aNNBw%AxLVzwXKpugJY^VR-0K_o;aQEeIomP zC-IAE>FVHnX0wrihOn9F5~wvOAwk^~Kf*$;#?{p6T*7_FX(&x2^s~3RRnOdNs9hfza+n{@_p`TB|*T;R6_&d=5w!|OjCXlXWIpR1ip*?e_Rr*B^mw9fb%-?3>#P%n= zu+F!i{WH30pv*5GQ%UWa8;xoy$A&(Q5(>1D-*-G#es;_0@~d_y$<@9C*yCJ-I zDUMOe?U|dbyn{G_GN^*hIG3S`zf)BFjf`%0id>m<5PQ6vpi1V?D#<-_la=QPKgO-O zOmh>Q_!}A7_Efp7>%r{z+yWJV^`R_pa?Eu`8S@60VQvE964N>#!-~I=fs=<4p4 zpv))wsbu%eEk+q*Psno`nV)?)EBbgwkvsHbj*I&Qelg$Z?6zlVw2)t1#AcL>Sls0h zIpUVnSiy6QX?L<*=iiS#mkX$`^oh1A`8{*m%7daWlS!^&b+ooy)q2BUBc6=9H}uibE(f zO1MmN1GBP@WQDDlFQ`+z*5^)FhzfTvl?|RbWmEu8r9Qw8E`yxrN8bV3&?YBrBTVUZ zEPH+zFk-N`YRp-y%GGv!;4;T?CU-oJ6|_-Mh}QV_XRqNT)bdt%a{>-qSwQsXGRJ9t z$T`r^s81?pbUuo`j?;t!qMgbL&zvx-gib#QdjEcMz5i#jlt2b?8J9^A(8dYaDib=Km{B(f>4}hxlI+9e6msdtw?9z} z(?Gn^@R`tBxTEB&u}FVVj@tIx66e=Yr8LQEhx>V3FU6@HOV zpLg7lBQ8Ma8e77stll?G_7Ml5Cc!4P6b|=fP+MlEe1re8XvyRZjh>WD~WQ?U$GsX(nF7SNmewMXVnIL9qQpe-95N+;0 z;=yPacP_I~zJ?LnPCus;Z&BgEO#daVa-%M7*Rx!4Qphi^r_z59HJ2~aLyxBfSWiDw zE^Z&w?j$x-Vi``1ZU1vQGwUd=>89(j=duf2gS!u_;5pJUDTYFYTK;RQ;c*S_+R4C7 zH+NpUp?oVRoxDr^4quC1o{5>;_1WS)dXSzKKJf}Y)B<`qY&yFq{((~gA){90G9?ih znjA-k0kvGZYSVQj(k9nzf2JJW^;|i=$3^n{dw(hCK6{x_^&s}xsUutPVRG=9GiEc_Wj}Q&d`QexoeuCjGliEwUS2D zFdnREv(TdqPk~ruUF?S{~8O0C_Spt-JR9&7Wq=ZExKuxBc~E zxv|gD+I86L>tK1;gEZlC>0%V5BX^BVKw8>C-omS{n~_E7sw5F>JOSj-^k8MI?PdU*U2Q5ccrC1@f#&SXRM-^IIPMq+Eb_H11g!7bW>?v zqG(qE02tLkXAYxD+_jn!Y!j*KePqM7qAO~4f0bJso_kM2qcAn*{gD^2RbmQ2Ea91V z%iSZo$m*y5M^@c&7=O>i0&@M#`1#3jLjeG!xe(lICCAJeIwa)NKSY9DL^qMqb-Ad$ zxlAz&+=8TjcJ9w2TOK=iSMBhun((}P_Hbg1(qGCMJ$VsZAwdC%B|QBuS^HjFx#PnSR3r2l-z^N&JRh%4R1R-QhCD3J?igqS)(H z-FbN3w!dAqbI+7JYdF!d%)6Txu@&a_=C752`tf(^B`%)Gmv6IgPn z6_|M|FJ!aKy^Fa{3QF>+6Md^JdHe=Bs>?a-^IG9Mo96+nK)Rf%WSSnMj>hjv_{+G9 zJ3*o?My&Ex@I1NhAHS0gQ+w61qSDKPdq}uOM}Cqpms%C>I;ns=Hod#tIkuae``Gnz zM29ok=QhLatRvaHaRTy2mME#(Z)E||n@X6gw(*;lbrhQ^W*Ob}9JzAn4YJ|8;7_8{ z;ddtmwRWtCtuVhYe~o0!@6+@gR1m611?9B+u9Tm(<BpZxA*n~Bc2CTe^Z#<4sn%d(hZER*aSGDuSS49|jZXXwcR{Bq z^S6;-nw-%@Xu<5lE9IU^0ah5zAlJcE4cv%U2rP7pXY`1kgFAO37Tn99s~LH+^8GA1 zw)=%_S|ws(m&9`pj^G#nR+6>X$o+YVy`T#)(-DTRzwXtWWMoP%BZefPHZ>~3SWttT zEd=-;cg|$Yi}U|eQ1f-JoH6ifU9CYTqEn4Ro!}>xWbHMK_j4C?14iTT$M?8ER*%SH z1)z)BxA9`ri`hb8=DH?2;Nhuxa@q4YX+eBk`ZY4EvwKE=8Y%OMJC$VZHFALlau;+9 zdMCuD54c>`f1}goNru%n{*Z%H@Tl z1jRK>AlHIc9j%3R-`F{A*5hdVwo7>ks_- zIWU~bohKP{?%>a*lj<-0a%^7HQ6daFVEq7>4^BdE`nC-|ak7%Ey@o|AR0!A$y8+xA zmhHu6)ZPpu@h^JfHz`JWOn@4k6P*#XLZCBp)bI!pVX**!onv$5gg;!eH$A`UZ~~>b z^Gi?TAq^}*=)IDx{YL!&SH8ut5ybV!Z$^cYp5;TXXEW9oEW1LARPzMrd~@GRg$)G& z?Ea>^oOIV^TJ)`3w`wGPzN4g?9xL~Wzp)o~5m*$DJ$bab0jl|zK7F0>ksc%1;R9NXyxS1|wc;I~*pesPhKYIUq zW2us9dW~9vXPJw;ijDn_n-`wbw{out;G)14z)UKaxprXIN9RCicSg)S0qz^E19xmH z;sfE#fC3pe`By)-o2=|<-vWKBP{sU~l4yFZ!Y3}J&W3wm?3}m%%7z(t{}7v5dqE~5 zni7R!CgNjk3{wVXLzOvD<2SZkF}1H@@VxQ&X#|XPC7AiHd9SUk=;r)f09t&)uOymY z! zogmX8WPkz!Hv)wOGqI?RwL(H-=lT|NOw86MLvueY6e@fdeTew`Oa~k(&oP zyC%5OFFsb%%#2|pB5DQZa5v)=Reg_{9G>5=ip!+50dc{_K*5-ajw=Zbg~Ezp<5}`B zQOJL$2dw}Y90Wj1s6+gX?3vI*R^~Z3H&7WAJ|)e}S-DRH>Ef;!5~bR|tYK>JDO~1c z77`6cU97k)@sxiiW#}XRGd)1aMmqm+1-bL2VCSpXAr6PlpL9ZbziwSmag35>=4{Q4 z;$Uh8rg1lwVfIuPU-3y~VgE3fF^*9_Ldq3S(eDGAe`bW5wNma{O~0EwkM06Mt(S#P zd}K~vxhX&Mi(^7QQLH4Hc`NgaY$^m{?#41j)vX83jLf@tIhQGpQu@A>4ZEbQ8YktV zf&4M4Sn*dWWrWUCE9LUX`D0R{rvPBfMl)-TbV)Fh3165;`ddc?ekaG1u_~SU1JR)WNR`q4F&?o$HsYuufhRcHyD=Hw|_sl?rt!_*} z&dNSI`ZA5Sc$vm&+8#^zi3Rl7$q(-yn3sKoRw&GFObpFoG*ZdXS)-cxRqiIOg7vG} zaL1)WD*$oBpqS^d!R7f0DnuCm)moZ7IW_-RO(Jp=fem`GkZDfVky`7(X&?#H7Uzls zl?0u&%I@Olp@3M++@x->wiHVn@e&K{G=MjxbBWf-h<0bln(@Ktm^_vWV)O#LHelQy z%|4q^nT9&9+ZHMXE34Zi<+A@{j*S8C)9xzu1!ZL>M}p>4dc@ZHv+tn)+n7EGwu@_F zsy@h0xtuZ{6ozj*9;a1ssoW&0{Tt|*j!J&+uqwa!18$7F;Y6T@UrM6?uH&&{XR^gl|$F}7_1b&T)lj|W=qPo3XbTlW@!Y$`Ca zgLFY`k)5?Z;;WFx@##;5r*@YUZ@ZMuw^YDg`liG2+D5(!3xZ#alWwW~8x747bxKCE zHyj6qKQHSD^P9D{Jza+0ZqFt@%iaP(&9vF5O0z5(L|Sf8DpnQ=Q^9zbKYnom`To`F zKxO#;4@3FmQ!(fE=yTiIDxy+JF|xE`*v)+2=>*GLQ8C89A)g9G*zxxOBr>|O)2J0l zxM41YkC!ui(azcy-CqUImwP5#Smc7tLzuL!esB_Y{-Bf`V+}i{T>5C-vE(vsnye0p zu{}7JI>k+nO#uoL`VHuZaG#q+3$KprQ!wlrmn%nhKAX)yBfvG9)%hq*J4#2dD7m@Q z;0jR_)nrr%P1)iuhuF3~_uNN*%_h2WC?nA!gsWuBs;&f7#*7BV+Lmeb`F%efxAt|a z?d#QtF;-JbpX;0mTRc$8^>0gATTb6wZ+;GfL#OybgxsL-?)fE~e`dgY-IjMfaKq+2 zak`S4J8ja9Vt*3-e;UP)-aVQ!?xD<5{*D3nM>mwQaFev{4{h#5V+@}&xHfCwh#s?w zT%0}I)CY04c}nwhHiHVtnpdRUwT8Z+`VXOxnd3~Nz41n$_#0XAf;BfNo|5cCYpHS_ z7RnNbD!IASs-y1@C_x7oFIMIr#w=)7YsdT91h)GRvgim&nKzKEZ9Jv7Z3Z zZ=DtGm|`3sg2mWAey`t5;$1{8&S#f+5)#R*hG zhf`_Q)(gz;d?fo&W|{xkZ`j1P4TJ(CnlpCP1hqeE;kpe3Q<|e)=ZG5`p=kRXGPV z5q~VCwQAk9_K&nzXw z%$pRVO(?obtUUha0D_{>i{~EFC>uZO#3r;kNch-q$LI*q(uYZC<4EK+N_8$Ubf`B@ zY})cz0ev7g&5W_;)%I*YrUJvC@h>V&3f8In#X~DQh=Y_YGiO*FL#1#Vdt(YrXyA34 z+`}4S_e7ia_QZ(K0*mtiE2%TQV}(+ngNC8g@=xiWY^wRSE!B;8dO4~-%x3d38R$1I zG$MWlX)sK@h4)n}X{Ogu^H=&sPr9hCXiz%}L1e1Mj6v)># z_Tvl8eVHV7Hwqi5{yay1Zs3J{*mc_KJIBZqnS#A+l}yuP5I52>bVTc-$$&^K+onedyara{etDRnk9b*D=WR|`eVT|_t z=u6z;H3C)23(~q+hEASC7cuqHJhTL6UT{4ocs`rRDZ$GqG7u7GnqA}k07Jgot`ueQ7{krlf4#umGM)(pc`~c0lLWUb%_2q=^>BeBOaN!SN#$ z_!~7?I)d1efypK;baz7Zi45}+SZsqZ=+!T&c%=kGqv#W*i0QXRo_79P>I2LT9Iq{B zb^5I`C*Ar?I|0>GkP^> zf=5m7#A+{eJlFpxx>rvmL4cbp4BM&fiiU4&Uo7Q@3DH?>glQ~%AX;fO?t!X7g4Naz zry6Ef$7$euREV(Au$CuxL>Jm?`Esx3Ue$lyT~_8bUDV`Pe5?xblS9r7mYCr10=B1NR0f6S%1x7^eGqhl@e}b$6<X|=pkp{Iys-b%TtcS>Y)80vdlJ;9^8VDb_Kj;fNjrS%I2jTsPu~&3FC$~1;wdUN=mse zIt50G>c8&Mk4tFVfM1JF9QsqON&Y9(!kg2y+nZIkK6m-RNJ)Mzm)NGjL=eP|Q6-FtH;!z?E{8M&Vsx+_qU}a4 z5w=X{uIV-?ZQb-9F%I%@)@;iW$0_MYtuiRCr4J1Sxn+zy4ts(MK!{Cny+HJsH^7c^ z+*r6ar@(yA2wUeU!KT4bu&^e9yRM7a^UbY%9=Zs0h{@BrLrH&c?f)%zuuB*bS=fIJ zm*7c(YlFBTZQ4J{SU1)QaNjq=x;K?l(`YDQF7FHMdiy3W|J+CHF4NQ`bka%%cc2TP z`&%9U{&t-mVYoNs&!eV?Yr_dX9vsh}ODEXus&QL%&JZYvtxHn5N9b&CUzE5bjnO8v z`-NtR>c=l&^U!tp#YRp1SWZR)o5UXE66pTI+h4e{Z)9P91DEI;sO`1giVeoL<9P0T zM%Xw>DKy^5cZZ;{iVVY&*vcf4VO@c?!vv1|SK`8gnO-yR9moKYS$*V&yN+b@&~^Al zomK$I^=S`*u?M+`s$Pc_Q9odDvxG-y7K>g|PUk1U>U(|@g+fE9rSH)(G2`*r0Xor~ zLFK5Qjswg8BIS-{>ccq0b}h^3^Vs8EK;0-mn|Chd>*xwEx4!>34!Y0z;kozxZEu3Z zZJC9gicJb1z(q>6D?}==gIl~|tCSy}=a1iAt`3Sb?s)7-ffsIsYt=z92A9g{-l1l} z00LUrc;W&Pw?BUwn|E%5w6v4>ttj=2^QkFFy0G0f_(je3m#^uo)%Xdv=r#=Y1B%H& z!@y;UeHjJ}dwQ;TfNS>*rm?wGD+0pXi2sC5UN!4 z4jM3&|GSeM)BY4~SLgWc&D}(KK>Ta(TV|*LjN=Y+6WC;He)i$o&H-2-@I&!$*$glY zGFxlL8DZ#U)Ave+WO%iyo^g8Y<`CZx!0a)1EC*_QM5tm&6hUtoF{+*$?O$-mYbX~6 z5uK>r(PwH5i{{eCFnMzN16S=`!+}LG(>oolErI3o)Cn-kNsMf=$u1RujoiU*0lQ33 zid#cGq1T17VX_VT1kJSQ{(#0#>h4fF6jJ zUSEXxeEbffYi^94VsFl_aY6R=NMqZdHXKj&tI>Bn9M7vCf z-nxa&2t!yM{lSD3I-*#7f)N|;m_%%ysg$n_QJvgzMuG6TXH6@4vgGmW*?a<{DG%-1 z_QWhy^S>!?7Y8fZ|76qxyvKdPX%=-kRC~oHm!M!$?~7%4iiNku0E}#KBGL;Az>eio z{_q_Cc`~rOL#!Wz>gRNO0*4wlK2^ZtA-n=gq#{vw~b{I>(D^&3J#@yW(6;uIxs z{f2O8I>9RL#ObCi&_+(^a3Y&%$r#)1d|5X!z+_GmthzsFJsQttwIhuo&24J;2JUlP zpuP@9gksac2Jk8*qc6q=-*r5W)qoA`3gw7=OYah{@QD-2Z~BCqkc>u#&Zef3ODsJs zdg59(gA!sT@)NVrsQDYuWpySQV7CT@Qgff#37*@gJ%PgC=gIH;Ue4x6D&XQ`Q#4Ko zW`I`7jh|@SrnuM)3!MkTmaPy|fpOx-NiH*t?0lBo`dMc-qnZJq*zD*J+=+Of8tznF zJd7z&Lt}q_?lU`q>!+=ahO|Ef|G7mdzym`_uAnfU-Ps zI$h)qx=31EgQ=a4VH3#+lkdKi&8TKr*)&&+IAzW`--eZBnu|h(Y4)A;w+#gq2(rWdpZhJy<8 zR#Ii$w<=d0u4I{cL;nB^Xb7|jmRuujk&S6`E^*BAecxYD2aTB_MzkX<03FOp;QGV@ z_lWzhUQioz=S9KAxvdV{rUJWRq!=#6j?ZHP)?A->O0o}QwGj*Htb%I(!ZlsR(MpEy zFua8$6cDe`O_~a*TioRkHc_my?Ahy^W}Y@uW74mVAN5HDYEY{pO?4e~Ud^^*dcg|> zwM9lvuN|I}C#T(K?cKi|*aVr=23#GgWEWTZMW2Y1_o}jKxNal74oO=torqMQ2A{9W#c2qp}=rGVKK-=@4p}zm4tgPb?Gv zaFN_SxkrN~ktFN*a==}&ay_HNlPECo-_uqQ2r3A>zVyp4I-SL)vmKOlISj&IR2dMD zt__Ndm7H3(skwxk=)qp5=4>VXY_jNnWzK=NjsC=giIy3ikKA7U=1l`4CH-sIj7z`sU8}p=F@$ISQEu#aytc3fuQr<4@r0yNx_bG7YW@iwPLOl5 zj+Co%4j8Ls(>iU_t>Q=oCWUN;S(^9&9r)JoE17 zxQtCnY`B9FAV#wRazK3ZM8d z<^YyaLeA`bl(y>2?0bY!Ta^6m#b9WLoVh0WlEn5_L9G205D6K!&G zstFjfwKCzSsQIwHtn8M0m=bBejtT`Pwtk?N9j!Zl;%^j|G9AkzLjiGvlE}VcRQktr z34z4ItCCQ|%*{SRD;$_9M(y!!$K$o1m_Wf>Cb3RkaG3u6rVG-;xReW5T8nM% zDvoaS|1w6m{oV~Pxc7Z7!<(Ru`!hl^irKIWvwe?bz^yW{{mahRuFLrQy{G`JukI<1 zQ4(q0h6yw-5z@?_4SziPK57NlaGAarZJ`SzA~Tqov_j|ucP=~75wutLWl&c3$ov9! zDga^X7hb9)(z>lIAhNhbNH^5#RMn31-%Fk1Ixh1ye_3Ztj4sS{hRqJY>Oq^WP8?el znRl<;G=QI(%>$b8S(VI(vOb`mTc{e=2-$$GPEDuA*gS~jn%tB*EnLD2y z;GPmpob7z=dN$261yxYbDv7jiqX!+xB|s*irnaGK;A#1hh52R8L}2^cSvQh70kxph#tp10SUh@yfj-&^n(sOhUzj zSe?de7$Kc*5WosFb*;LQIl3mi(vDwLtn0iFj0C~gV-p~=Y;2g^tAC`Ve^?VjI))#C z*$B~e705==(N_JF%@3Z!rBB8oU2HGQ6Bj6%v|b|@Xb6`8nWpOYLmsCBuuKzNqV>L3 zv9eIc@Nz{1C^xA7%V5UG{1ZXCsILf$Ym`h{uZ03yP#l{G8HM@+d#3h&MiZMIv%efx z)(F@=DizPXyJhtg7xHQ25TyapQOTtB8VPR@_wY`z<gc(nC$~-kc(nu zL5@MflX7KMuY=iiaf-@-=%HlNdX1X8d%1^q0_yy|BNz4m)|Mzt4g(L5aaDL$pXbuk;e?-U!y=V5wF29ox`<5^Ckgq)14<^X z*AV;7J-kEgs`>Zt3(`^m%m&28gN5pL-{15ea^pS6aOvSF>WkqW>BPAK{zL0X#hG6-UYEG(Sa^~QBs&d6I z>49t6gvc;d0G5TPcYl);iZ0-iSe@`P145cju3^|-d^wvI4zqT>oA&{=)3EO&6@ZMq zfkp?r8m8v`A19QQAYd)sJ2xkV+%4<@WUybb_0Q*U>EJY9DtYW1Mg`z=CJ`KA=R4Qk z9hufG!ij|i3s!8{e9AV^8X)piPv3yuU`Gf@Kn_gzz`$W%{tn_wG-+r&+jY4Q+w^I>V5cXdSB7*OsLAA|y8EriIWNjjl? z->j_;OvgKZTar=YkKht06VSD{Qbvpn`GgO`h%D)MX4vdYHC#?)VgA<0y!*~q$=<{& zyNjP!2E@&!J~5Ee1Mh~ONa9>dX|$2jXit2)8HLWbjn1=zevYH-JVOPq1JYYve&4q8 z9C0ID5H8{DMyu(l<{`#W(|cE0S8;m$uEcUt{*XvXeuNWIOD4P^|F2R?U9JXP64cDp zN}NcdJ(JSyD*C-MwlAb~>`!U;2>pDVTv%*yP(+^<(J{}UMyJZ;Ph~#QkN(%a(l2hI z{QaK|K5_E0F5-xN*40U75FjPudk|>4pvZ7aI=N7#PL)sf6s~6C?xcHVmY1fQ!KG7%N4(rxne(cDP2~#DF5=v z!v5b%77u70FQ048hVTfgsc$FojwdSN7HKX^B9RBkuf$7~{bC`+PXB+R z$}a*~afWkQZEofA{EMjOoJj>Cx_MR$gzkM-WWhcA#6&{Rf0g^4D&ebDu1qdB3ZvoOQo! zDA78+J0lDFKfQJS{qB0Zx@RrW3ZK8W&7k60Voo_S`{1`Qj|imRpY;)@5V zC-KZP6INI>gcVlHV6A!z&pb0}4;EcOgp&dof0iCXrthM?tcMe z|6a_EXRfj~VgPkWAT_bg3@xdF5egNu*VW{4jyK2JPU z{0rh5Q84tk+Qe4D&~7Bg-rD>@(}}Hj>3<_htP|<)ne_W|`d=CSzMX!zHY<#oXbjzY z=2?q0ZPIP%VPb$5c5$ILQ;gZ&f}z=B;Pbc9-*2+Q-^3R*Ax4|Dt>ABMM&loi>-?nP=%U*+%^7g|kR#-KbCuBfg#hoP3SEx|TB{pcCQBKJEs3)+H zo(dSXK83^DX@Va-*b8&^%!q;hL3K9IJZoY0V9|9{02)|f>jfQb&pd09 zHn8|q60wziMI)kM*zM|Uo_W>+?ZKiaNXX_|0jxgz)9Xj6GkNA&3pDJ?fE8g_LWx}( pIHAW=s4cI2TU%-7SsG1<{|Di^9#lOklmGw#002ovPDHLkV1oZ(&^`bF literal 0 HcmV?d00001 diff --git a/src/public/icons/apple-icon-114x114.png b/src/public/icons/apple-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..cbd73262584a98413174270d80d437a8c97509b9 GIT binary patch literal 6826 zcmV;b8dc?qP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D8b3)yK~#8N?VSmH z6h*$ri%Y!lTJHlCeXiGftmnEs$|M2|`neMKx`v1GC{`Ifw z8j+M>kzGYwPn!78igb}%?iTsw>7tH48!Fslaj8pOp-xK*CsK&k-gGgLl=Uw0K9S>f ziTgY*@yGlJL_2j_LS<`)II7$wMv&pw6MizJ428bmQJx{Xs!Nh$lnt5U2oDU%C=RF^ zF`XFh$rK&cWsb>~!Qx1yO_Xu>55p~L%hSZw>hh%Mg4)L_jHjLyKA(&`xH3~5tCEOW z%G}~MO0ST)k12G`W^W&Hno1@q-hd*TIb}tIuB)Yo;Kj-eae+$CvUmoHlj&iY9H|Ml z$T#z;KUGN{zJew-mf8>s8Ka&I`i@nDQoox*=a+D4*#&*7O7`#-GU6akIk7_NHIPwX zEp~}h)h&WVlG8*E)w6VNQ|Ps^LigNRks;1gw>bPnW{cKTE7owzi5s`@Qcby=JmFUA zc3M+P$G!_Y*BL%H-s`XujMM08j;DW$3f0c36;wOPBfg04^$T~76KLgdi(6FD4lf}E zObS&NJNrs$#SoM|EpFG1U z!YMYn+R3RYX9XEiXMT^9N#ThxCOx3OYL~c774y&+D)3TH5l&D>&F8nbpUxUl=lkBr zvDZ2QmF*=}%tKo$Qp7P-;JQ!+IK`5lC$h#ff_`&TT08c72Pj3LLlyVX70hP9F<=xB zH@~DEK}O<@7YdqKE{%9W**xjuCRN-+S1?fL6yOB&x}VG%jRUoEv#TwePP|a_`iv^> zp(|9-r$Y<_0Jfue$(yrruBV~e1(orq}ur=eZJ=jOqOHL6@idEuUkApt>=ZBpiiujxR-R* zNvSmPg2AtMfHhU|xY2mIl17pW8QqGan z`gE4_hFmIFjlM>%fBMg|D7UNJ^vbPr^Q*VY;)%D&pPsu(u6^Qqxpd@}^1I9nrKg|u zeiEK8oFqM3WX8Ha$FgZyg`B1)GU%d;3^5@8>I5xyL5-uPVm#e!Io-5AG!tel?h)CL zI`BLfkizifb7=%I@CaY^p$xy>vFD?RS%xX z--B2~hOyHJuj$=^O(!O3+)cH$vr>P2vL#iVK+WSYN_Z93xR_@2fmw|V1vRvw&oSZY z^lRfM<2CI4xO{nNisHXtw;Zg6?X2hB!-^#k#=y z$J|&^Wyc*&8zNf;*=gl{t(_^k$~~JbQJ#Yhe+>7z2*F& ze_-<#iCFsiXq2Xl%awVo3wfI3xWwWGPbyb%jw#(c$-?aGWy4%|KGEuI?DC`xIy|BWriuSh1K`+ ziZ_BLGnz41+`(U~lYb9?9pQPqJ2m;|vt`)eaQ~>`77bLv>;>a7gHIQ3V-s|M6}^sU z6)>&$xzh92ZLH#gp_&xINeQALiZNH+&0nVz#S7j&!!73yzBH%|m_kd$d?!_`Vr3qC zLKm+NP0T4u+^yxbl;B!9!+k#AltyAD)h4t4O-E~H>0B<2{Gt3cI_Q(R>kKq4$dt<- z{$ooy5Gv%#94}$F%aS5_zRy2am>Y3zv#=CX-81zhww?vDPtX)zd4!(tN) zLX8PW2ep+uSI0(x!MFTQS(E*Hwww-evoei6QT?Q&W5`g-`?aZSnAy)GS5p(Wd;qJU zsI0t;Hv)&zo5c`?JI4q-I~$C z?ftap&n-$rje)z5TA=l5f$^IqaGlWrW}pV6Hd<+x(T8&PGlB=u&?@*=-Y2UbJb^EB zjL;Zznledjg5WqAvyn?YUUoizd7-~xq%TNuMqpSdXe}8D!wo1NMn=B{L#u(hMzmo> zC@_#Q#u^FS*J!j*P!pM^y>VuL=^fzQ>VvX$F;tl(cJZW(&$-0oVcWeOihXNG)P^d+ zHW(|exi4T`JGFBCBT^Pk;Ex$$0s<}I;V}vC?SB16w(NGHinO=3mpD?EPq^QXMvOr)nxRC`QtjAA+^5M!uXYF zn3^UlGFoXfH(T9pv~@)u8^Hp^R~=oEhxh*|QQK=#Q2<0aTF7X%qiN|q8@NI{!p~1j zDg9D5@0GGRmp^CYKj@T3DSh=){xF6=M+eQeZa_FSYod%hgCJv5A6q!;A}#oVNolMs z!19t=x1TCk^*%1@+FH`zl20>58)XJ(gp4_!yO|L@Z5vaM)IxA`v_(i~Xlrwjd3-Lt z|Kh#=m4p16TMtJ94u_TKj2(6tlQBt}YNh6iP@n$-|y4q+9sHU3)!$HaGfBEeR z*MawmF&&yLtAl$pJf8*(1=;lzefQ9B$2MkDZEOl0Yow;tc#H#ivg1U-*dfs%On=QB zcoC})BZ$#r0hz8-Z@QS9uor^LUE*3eEBej0x?9U-y-tj{lFZ1|Ugyci1sOqwWWj(P zHFlka;Q`0b|0HAi0>*-rz8Cl&{bAh(^(6`ZA9}6MkB>{aZ5Dn0jX%zz1snL7?vE30 zVs*kXzx&B@b6VSdWJvpy$aaJb`8fK%_0$}M2ENT$I_e6xkfuN}i2B%R*5I`^?Nrtx zX{saV=NT!h=Bh80RDKhFE&5FFbh>6YIYjHik4M79h@j@nzVgcyUN0OgdmXojbUZAf zFV14FvN)}+$4V_UQk2()Eufr6Vq8WdvHcSpQ&c+WJGDMaIYb*CC1ZX>{aZ~y;kv*8wW|Zh!9ZU(h?(r! zBxUsyGI}XB#m(wV68yj9ZG)krU@;!Mc=(m9UW{PE9YYko>jG3W%e^jpT2CIiiK|3>0MF z$m&LCI(1VKha(7+QkNEYQ;R`qxm(nP-T+O&!XCe4GiGF3@AJre;|mxBJXrLJoYFWj zCfr@5tPrO(?vQfROZ4!K;Aq{yE*UxW&xv zciNoN+UgRQ(S=dh?!b#(8DSj`m^JYCY~eI8*=uDc!W42?(C5V}9&)1CbQv@cRn2MI zVCx$xK{~;h8>{G{J5HyjxW%F!sp14>CUe0?Lv)j3HlYY$y~>Pk;qUKbDMwi0S{xZh zS(YIKVrb$0+M0u7Cc8FL|M;$X&D7>H?Hdu4{LgLLcpGn@6_Nq%#9TSZHcK#qQ0C$V z@4%x9a|uKP8N?!FytM=`3^B&(z0Ygb6aY8fi3kqHd*xq9xfdR%Ves#SAo8=Xj6B+9 zR8v0-3~x3*6=+UZ*l14C^x|PfmqGo0?HgSj-{*(=%&DgP6?oj@pWKBpGqBxEGC=(E zkBH771lPPvX?;IPePzI)>uKnNJRmlV<`ss;0~rK;7onfu_3CxJZsNr)UQ}iamP&GN z=%BN!0y0{y_7{#S;tFUP4EhmmX%RpDBQOL(033hEA`Ml6xk&`mLDjrKQ(gK#HQUbx zoGC6pHmUvBCA@CpgleS^3+0sg0)nkm=m6fDWiN^ux2W>19yXgRU{v%PP%$+SW-I+L zFigPAhEd5IMoYPEwz7^5L3GG?zXVbJ=$X83oZ;6XPnL}M1ap!TG&O$L?-Q^t3mNsGHCTuGVYu7Up4=z3qpIC+A<`Inf2vRv0qq$Mh8g z5X4dur^WY}WZwOYIzZCATgspR_1kq0Qk``+s}m<7`^~`|<5=#X)9iZt=1&95@GZtD zv1Ec#Ob{3rAWjN_2a1Vh>bGHU}SrvsCdF8Bqn_as5wE1fOFDS_`b}!CTVW zdRuB)5by^WLsD5A7v3eyG84A%T>!VJrWW-gym_TfO(hD%V^{a?AZKQDmcB(6Rtad3 zv8}{ji}M0TfYZXQ(ZOtnE;TE{kAok_2fWw%iojeZXH4V;P8Zhkz-Sg@tv}~<)q)~R zdY&XpT)|URPCzZ)ZZc$G8*ci~KJFwZK<2T-lpd}tdxKfG!(p{qg`v1Ha;7YHa92udPIr3JMK{fe z5c*<1cVfI0ryUXYb~0Wm_b)Md8(9ZV5UcDEFq!-d4cxh7I#^KvL0`%p=RmV*bA}_7 zl1agVa)9MAmi7;dPH9zU$j>@$OA{AT6?Jrvabz~qnjX(vDQv-mz}v>0f{noIwK8+E zX(CyXJX!BF{&*zNoZ^LAE`L!#ZJc!nzj_W!AVZfw+5rLc>i!Y-6TprUR5Q157uqG- zF2=J4UTEG|qB-Lf8w&a=tK&?pit{oHuA+g51^3|cX#%!Qy6RQ9Xc!Hc#jp)lPFsou^2|ohvR$knRgmyn`{bc=| z^r(xi&|2A<4WU}NsnjKIRi=tA+D3ta-*JrTx1+FR!OEt4Q+u5&cYl)_t_VbSq8Vl_ z^Nr~Co zy3ER+;yO!)Umm`eC+cJ~86k8HsnzCHuf@?8cbP)>$HNezc6#6MVY&y85vcsHf<0onGMcgYx1B(CQVo0q zoA)b~Csy#3&<#7$jmJ?<{ho~4G6`*EX(Y$Wp%)bS3r5zkiZb%OiT4NtTZsgjIV>1A zB64FToe=8Yx<%WbCEANjM(~!};+`ipRb+}G*a};zc>fEGTH+R+sg@2Sqkgfh=Lt<{ z_qj}SV4)VajHU;pVbA27-|!cjyZ{SFgHyf{1md}CjbLcQU28-)sKpxEH1`hay(6$2 zB=%}AN^7q6Iu@&Bj#H#>U$Am@QYx^9lZB2u7(HCw_6W1w~9(aLQMYVGuWlZZU zu_4mBKF4UwB=MwTi)*ZZML|%=qSPZ$2)$X6o^-LLdGV0xoT4<$YNL);E2Aji;u3!i z%_%YuIQUl&lU4D*Vm?l(@xaTrba54)E+&)K8FbVPYGRAS6o#fQ+LV`0w3X^+8$7Vk zeND!-b-7pZWw8OZNYj-X54?EYB8|(W9q=IRoNyU6v7>@_NY>vRwgPIA@!C-EP?+_T zkzkBjk39l19a-Xd@cax@rCSVVGH4qzrnhmypwEMp7CLT>2E0?_^`ThlCqqGtU|6l- z&wo%>J>bmVb5tXJRRhGCN|gszsDFH%%VaE64mx@&)k=@1v`9k+Gopp~(EM`OMZ++) zw(I3<*}TWh!Sd6-16i%sTMDt#?=9Rh53REkbm)s-010A3B zkAHV7CxkNMq#?avT1{5R^N*ifoz`Rfx46@l`0RcP-Yz6 z%pPOQ#+m&;(wZ|)p=MYaPipTsGS^1IzjT1C9PIp7*HqqDlqwIbl)J#@X24;yv7UF$hVa$53H2BLcMh4zx6t7iB zix$}%itKvn3O29tLWXp1&$)PnGIM=s=HjK?-D-n>S^pn6g+>H@A7`{k*cqb|wf}WK zo7cE;i+7bO53Fp-6sOZu)x>5pMlh!IE$x@jDU<~<(ij5Xc9wF~j7`j9W9lPcQ>r|$ zqGm-ZxJ7HD0`K@q|+4fftWk%-}K^E2!a( z-}IcyDKrQ~eysM3W|++UYtX||IfVK3JST9A{z{DpUZ@5+{#xFi$v1w?DpiA&4&}!( zAsh+pffvD3_RV+8ihj<%KCa;w%_V8#e5J+%FWAb3&1f9dK6&0doKm%>FrKC~8W_Ta z#CYpJxs}ah+_=RW$M&z^AP(LF| zU;r+^Hfi*vi%ADnZPaCJs`vw(6eiR5aEmJHbKfe@5M6gKyz>ly!N_V(!TSq;!Kg{9 zh$8<1(XJ*_bS!m=UR2gBa`IlMynapj&Zob(P~NNQZ@h212cHCf`LC3~#>L+d6X~2G z6{+IfgshZvN~kcCDYLwRB0z=pQQZ$$B|)PCZkl6ae|jl!eHs5o{m@0le~b=nONo$1L*Hg z_yJOtM3_jK-C7ome2SDB{pWcd#J6r_sVsar_^qeIP4N5qaI4GG#GlI3L|3m%+(5>= zs5V2K6l;^Rb?GBr-kmbeJMq)M$wV^w%g1Huibp>1uN!u%x^+?&3W<9o5~F;;1~H zd$q{QokwgUJVXsCd@p_ad1J&#R$jgsos*&Nnv{fzl&z?S9wD+P9WBN^cf5Ek_hd2d zrE^8r3zrjrCL{D9gJg=)dH0GjFFqp1<~~Wret~$MjPwC9mHxkgKG)Fa&M-qh^m2Q3 zr=%oA{yL#EDgP}p&bN+{m0KQW$gI52vxFK^lh|w?h zQ+G{@qk?f`R^GNSr6&w(nn&k!Qg=^^V=_ADnE3j=7#R0bGS-?98Iw1Gn!Wur1fenO zqj^CS+(~g#9?iRglsuG_{cmCwHMe!a28aPX99elDVha5|n&>J9XD6qy_N!n>GB)oz zGR8X-Q<(9B$UQjTeoBgoWaa+I z8_z&i-X3knBq;~6WaTbojTcO%7?B;@)|pA!Pm(q9a;kAZkg<607SmQ)FSyj%hlmLA Ye-wvv3r$*z0RR9107*qoM6N<$g1)mMegFUf literal 0 HcmV?d00001 diff --git a/src/public/icons/apple-icon-120x120.png b/src/public/icons/apple-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..113a3760ab3c8e1ed82401d7de5a17c9757af132 GIT binary patch literal 7179 zcmV+m9Q5OfP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D8=y%!>j~H0)6|aHKWnOU*8 zB`IRip1Z~ADwwEjM}jyFr7;uX9^~$62ja6mmYMErZ*bB$v(p^o6_sELRpTnSunoDC|-b1Uf$Wd>i5YOa&d%aPAqX@}I@E$AZEO6A0}0 zrHcDi&~eiZj(Lf5SfrpN9z#|8MtPFBLfwM3%4BgB&Rxxg5h+^ro+`elZV@+CdJmf& z~WMq^$$WV_ixG2+NqNvBTOk@T(U%rVzN23jZ6#3?GNC#GSD^Bc}N zv0%UVWcgvAOXR#>-R0J#)7f)kz#x^>6VpmlL=NK=*C|or&bi||8gqMHE;kN5lRei} zyrS@gZi`WkZDSqdBBd!O$&V8*Y7@6j_ zn|#sl{2+04-bZ!4E4d4Moojf-9F^n~%Y3O~2+OZVFC@w6wz>x4}mHcnM6???BH1Sa4Jqfwn{SMBjeZS3$Xa^0O z+^D80O*@mnCD#o&OXl@IUw(oi8g=BB_PMwaCHXm@SNsc^`yHJ7E`jf6qNhC_pS0le z1cp^(aZYkcnz)A6mpkQb7)?Rab{9naw}|ivia7p$1 z8=e)^)_>Ob0&Ql@oCY(Lk-0F!0X}U3n;>}Bo+NRea=-f~g*b`UT5;2HxY;s%9x+BF z6g0WOIl&B-^8EhiY4gZjI6(~V;;)&|qq*|sn_FvUC(7o}21)-HgQUz0jeq4J+5Abm zY?zrK4^95Lth)bvS)OWLlTeAJ_;K;(ppwmn6DcS}K76`6*S)vDI3Jyb`;d!1r`%+| zsZ*Q^tg{fg-*SOq@Tsi_9=r0`(OLbPTMF)Pl^e!NSu`4=r3Z-^lC{I6cD^rI8|rkumMSiSumx{sDDvx~!e&k)MycM$YNQ$JY$?B{*M13)a6-5b6o%$j_rEkc5Uo!P796cIUl$JYFZ^(c!s+D4K_d*q4{64Gjh?UZF%|z zDIJbq<*FfY{+M7fIH;G*g+Y*b+%-n>Ll3cv}G$Jt^vyx|CHM-^-C;?FnYKw#qV0*_ph{zENI8wP|oI~EQo zgtQ|jvWMPEJ>psf&}t6UZK(4>J?h+EJ!J8;+gOK%2995MKQ9W$myF0HJa?`UhXNDz zOHyRPT|L+|y9M;A@M9>eBn!_9Mv5*7U^f@A+w4m2(z<){pv0LqA{)7Fl9A_;vD9L zP~%uLddG`|bCNlzy*J;JgWB^VjG1vw^M`|F#hsC@Qia0j6%Q$?BD0cYaTR)Lma9T; zP?OPpTkHDK4ecCB6AC2On%@VU>a^t0c|~EAVuDJ(llGUe7$&uY;$Z68H_YlQ%hTNL zXki%JT$L(*sHBSAP{QVOH*f>rou`$wthvu;bOsBFMnjl&aNIhSauS~=FsKBQ(~TLx z=>&)liQ#lSO&P%`rkQ+{T#I4b;VDPpjNMq8Y8q87bNCBK1y-eaUxbfWWGRWFGs-0pc`rFW8^`g-jaZGNsbo878jj8P*sd`<1qH6L z*ds1e5=C!S9&tUY1lQVPU+PH}E&0Q@b53xDO%Fq~YAI_ArQGr-{v4gkrBeF+5c+BU zxDig^aGHdovGU-bdul$QsY_Z_+vh!n1Pk(!9nj((C5<~qr5KTLZDyr13^6>oRT3LY7K%FIWQn)=|Cv1HjC9^po-jUs?g2xA+Q!+DfoNV`t!N<+$LpZIS z4WE9Nu|Si=%i2;SUA!>!RvP@^P!(S?i$7)u)ligqP3dd>B3*uv`UBQKW~fBd zHehP6eJSE)B}MG4G*R?GPSPGbp?PGgez}No&^DL)Mae-4wuQu|Dly#lj@UI-DX8qo zoi;ajKO9x-YCe|@D)}-mooqv;Z-~*SrrVdo~XVB?bKmam7L~AHT)%zhbz~2MoS{nM8 z#pLYpW^}TiM>YH(DGzPHC8*AIqrbm;fftg4X0jZtIyEdyV|~OyO`x$^1U?k9L?wxP z=JSYOqk1maZ$#_4PImR{?8v^EO{^`{`?T7%L6Z~**Fpt!lG+*mr*ZJHO7(w)M(uX- zKlyueP;c30*M|{*-e9@V6M8S#%6{it^`>cF;wjhOz>5I;A;6#)mTek%hT|=;<X|kh=yYgEK^+v%fp*ZOMa@bmV=m1RSUtwg+t3Vf_p!omJCFr= zL~SlpEnDLi1rfg{!siutAdryH9?=_XXm*B+u+E`*1K5NHpx*M`fohI(pd%hc z8~l+{DMF)35t`~`!?%FjA>x2Fnb!yTh@OCmC_Mr|T^_~gpLujb~Y3xqt(7C4h_nHalcrw0=8n0Mu+wsB)e_}6;0@Mc0tp%fI zvO7T?$16;#$6Uzz$`!ogE%r5vl_}yEIH57<0vBjp zoc1=C(6FHDxNfWRI;`brV2D(|3*V!J)$csM1Q@PS`&&9Y&<5{&1J(2EQto+G%3ay0 zrXi}6O#x0p39c9#v*(qls-{;O|6a)&FshnS(!S&_aD&6I-Z+CztP^NE3{~xW{|OOh zVeI={U=cubx@qSIeMf?aYcx6HrieDQxo#+--8QtFG63aqu zGzm&WCw+Fv=~CUczo1<TuQ%Q!kpw9>8CFC z7mY3F60AX@(nLMYJDcZo={xS4AW)i(Rd~48bO6o3L?&E!seAr9-bXHjQoJ!Buva|8 zo!}<8S#@i{{quqnOhYA_2{J8=w`0A-<-+|KE*Xt_*tC6TAKFv%__%sSpsJ_NlhF

    _m5lu)s|4If}PCY(lEr}97|~ZmWDIB zHSEVw>PdARCA+ag9e~j?;Nnsi2_bc4ySX|v_`BOEdg$x(Ed2>veYf8Lj^I5{}EXG)eK_Odb9ER zP-y)I)HD=d>N`-gLYY%TjfHXS&}+BwzHu4odY~*_{Ft6z_=G#bZRqVf%MvbX^1ao^ z&kD(cw%F*%_g43Y4uEyC?uTK zV!_TSP*zpL2Uhdv=uqjV^=4|ji%`0?M`a)+O|Md%?D`8fRL@S-9+lOnZ|O~WG`-9D zEDDaGY9648ONM`9_S*?G$7+79KJCpqG&hlTKoCxz+a*Yl+Vvr}*5Dky9i|QzdkzPx zUcW6>9Iv@zA zixD&t;$+`csoD!&^$CC6jwlxw4(1NDe7{y$>%Z2l$58i2O4jxUF@~Zf(~moH7e)j{ znoA5p@8UT4o?&%~gC^=ZN1M^N%Gf;o)drPxn&qlm&L0m2ZRK^))&`TVy%d%61wk7o z=q0V3A45T-6KFU6K$p4Ldjo8!=X!)J}5ea8OB%WUsXj#m)Gvk`2u((&SS0QWiU? zK+x-@IG>t9$C%!q@@{n`TWBdalzYVO2xOHxU?=+V`bF2{( z$oS*{^=zGF3WA;`rfaqPIJ|~~YK;&*>Wxp{$flixI$WGjO>Blf{T-KDE2Ax$5IF_a zb|G^U7V20zExkIc9=fLed$F{(HF8SUJ| z4e2)+wyB%96L?MkbJ<9TVt(QkvTk9rvqc3eF?Ky!N2L)WT2-y|JyqRKdgUByj=k`Y zzhu)IijVqSOl>SpKIKwXOs}+3?(aCGAKp+u51S3PLU8S+X&)sxdyA|Ys@99gT`^Y{ zjjd&!X2kAY8HCeP9I7WwnTYO1QM7A)ZwC65^O`lC|6Qq=*KK5k+fBm>rCL9?XCGE7I2Q!aQXy+_U1e0dLz`{a@Shn z;I$3@!Utsaco$yZ?-j2pw{{+@@QOZcWW&UFch@=oqA|rm4x|zk&MZ=>ac9;kcimu#BC#w#`}w{{*w6+4oRY?vUN)dK$d!~QGm{Htx{^fBs9kwsROFMUx(E zWFrNMtZ!O==fAb;kaKV-oRr{DGh;UR^M}aF5w0xO2Z15ueC68CVTjaU%#n111Cy?L zJ?svaj?*0>PRG|KnsR%yadwHwe$^~iR*@=3Gm(s*K_}<>SKWD-bFeMc({;KOsFh-i zxoI2fUibwcXLra~uI(J=qj!1m5seB|)0_PH>4ltwZK3CJIWet>pd(lN_?2v&-2hc| zClfgE$_F;GQBu{qa?lFS!In_Zm`Wulq#a>a)is&!|7@%dGWN&HwVlJ(_Yz$Zsff4w zSb;EGT0c)+!a0~ln}l$%>}W+8TV$&rjM1-(0;GGEa&6}@ZL3d;*kX>T8?-D=e3x@@ z5L9xVcC74hRFczW%XRA#Fr}WRBr7&hKLO}N7M}tJk|3J&dC}iLNt4-?4T)9D$UF|x#|4`Hm+`f z>bZ%2d0n}+^H_P3xFQzquy5#T)BSma8rnIToUU!HaX1u;2C5k}p^um7`f1m)adiXu zaG7#x=Q7%$hsZ^=-8KYU{a>Ul*PKgRZD`Y-o7J&XC^J!Qv3jVi9)C$pe%ldkZxgEL z8c)3&o9JIRvW0bg2jedqyRQ2F3%Zx5ios_h%9Wkd4kn57O1;9zBp^Jzq86XI_)ITN6lc7bkKrDJC zVwF*BeBTOczy{>#Ii())6moIWzEshDcA7Xv1z~CajbpF&Zy39cbAGJR#4Q+krix13 z$Y|p>J=(Z;py);~Ii(%?w68jvXKU84&*(b&KaYO!hu0sM<6oZ?bDp2|$kCG3?XPn5&ksV5A&fDtlaf`WSX6Lga#FEUMW-)tq$R;FiZdg|Ko2&@2Br|85 zx_jJWZsVT0L}X+yg41i^{38&&Q7d7YIjup$L``-R!YvS4Q)BnDa&faVbb21nIYay* z`$94C`5t1zb3YatQ?7?FzZIENlOW7cwAZ6irBA?jPvi3i2=+Sueiz4<;O{(qw*mhb zg9?0i7@zG0&dlyy%XTM(QExUYI~f8@22-LYGdmlfFGAo2_-rq5R?b%3Yoxe)(&_5% zaf`WSX{FL{5+b%_=1f<2k6X;`ztxLQi}#{C#xiqeup-2g%7;JW_PZq{l3wbm6I1FLd?lNBGS_0 zz32`xTG?Smh#{HTmAG?!xv)d*;hgSp_{R`BcxusYGP4^{dUt|>>h5vtAVV+ux%1TA zGtF#GhX@-XIs{>aa!O`)9X?lr$s%Lw05N{*W$_7)&SKQlr6E(sl-nTG1c*&@%l4fy zT9L}kUL>-nK7#S}tzzQe=*8Ocs<_h|b%?aFE+c9?Fbtwh5x1|IWlZ@VN@wuI1qV%v z#O-TlRMlqXR0W9{OpDfz$L(uq)bq{E+0Td?fZE@ToQXK|8`|ay@&6VtghAtjZW;gp N002ovPDHLkV1ljK0IUE2 literal 0 HcmV?d00001 diff --git a/src/public/icons/apple-icon-144x144.png b/src/public/icons/apple-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..dc7c10488fd4976b48f557528bcb64ecde114bd7 GIT binary patch literal 9002 zcmV+_Bh}oAP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>DBELyQK~#8N?VSmD z6jipzFN%W-4C4&0IO8@h=s4TcQQXHTtAQk)4gnMyML-tuAwfq+2NfKVB(AuQPnb~| z$59qR7TNbDB#_815FlFz0$~Yc@B7ZbavM6;r@O1Ft2)WE&-eYl?xd@3)xGD`x#zAW zV&a?>KPXxkCW_95Ng|`jCDsy$iJGD$QAqzECkKmj)uAzohU5(pXBWD}?FBB;Ge1$> zTaX~G+3yzT$g$!Kbx5O&6rx3OytteUWkPY1*h|LZrBBI0$1I{e{7ju16DOr4N!&)t z*vTlNyx1i+(D!%gN$*>lC@zH()oD?ceM#a5x|e^@y;S<&V;I)t#fzV)Bx2%(6efr+ zq?n^j;d7iIqgqFwPahx;C6mRODjCP5AYS~OJmdRx-3r~k7^286X64;2&Q{6A#7-%2 zi)+bv4srz_7MG|cueF90JG8K`Xs?pAO;Dv$+E3DT4zt%cgG;2TWMg8NkoWiz74EWt z!nOb@`e;$2_^2dV{5H~<2~}i%lDLJGo*62}F$3LS9eJ??b%~hRA%$-7C|B5#K#D>u zXm(M8xLaMulz6*|R+P?*l#Zq9Dim~IMTp_lrD76^98MPPs8ILo3)wF4#23589QuBX z(V!dEDV?`kpO&4F5ltT}nog^-*$NfrNPXctf=g5pQw}7Gi`AuBA;r4rIBT((8OX57 zJG#_mV`4=R`;fwRu?6f99P@K(SC>tZ5&CP$99)EiF+`PF?t*O)=yx5S^r9_uvZiI0X0?qi}8k4t>P6=pQplW>;ib$rI- zV|wRH<2X;zd<7F$pJ2?iMZSsVn0O(rNa)&X9AuTpVCLK4y>+HAZzt<&lqR zA*zUC5=x2_#2>gqbecj}3%Rh{`K;miGn>5A-o!K6G#tcBF=2`-qL_pdYI!`#6rkg* zkNYueFdR#|w})3?({YSM@l9h*QE66E?2dl?gKBBoeV4Mv5{%ql=dx)zNTsKbxKI^S zOgPcvAD7t96rN)gCAE;>cD;Z#l29O4Dx`C{G#$e&9#%ya6HdrYUqA+QoGmMDcsJ;2dO;fxtN!IG0P)Dd^!U!2EAjTrtrLd7xyj;GCj> zT3*u_!!QcsrhIDpb7?yPU8^QL?wp%dam7S0`H5$Yf+<#tLplUjz$d;C<+?|Pv&tb%^11zpeIf~t(X(YJK$O8UNmzGnkEe?9%Z zoIdAz62<5A{T=%MSo$33af$mVhPvWlFVVKyw&r$r6F)A97r(`l9LnTy@;EP01}D+? ze-u%MH}-734TUtba|f-zWnR~dv?lY~``c-;3JMm5Y!`MI5R}ZNZ5G_iI?5-E1-;(f zwZH-j___0qKxOSEqbs3L%n_eN2GwU@FL8-dPty_1H}>=t7m`tQBc7+5pH4Tvn?5V) z#_Rku<`iPLaE0y_ikQ zDx{BUVl~B|BcU^;!syF}!Qw2k=zHmACXma_q)*eWsqDBmY@u;ruoIpsq8P;8LM|E5 zQD!}Ji`?_}y|VP*aq`4Gm#kTuEWNAyNVx{2NV%H8C;jbRl_IMaCCTHn6Qt*p?sETY zx687>TqR2$GB-|!s&5V%4wtu3pep0ivjfuEA^IE_wP6!&vXxuhU+5B_kkR1c?2Q>E zo1R9l&_aRg4o@-qbGS71c>dJ7w(O;AYfgUNt-5aQqt$YKe=?BX)>+e6%G?oB<_woL ziyn~WAKW1iJ=sBe`m|)P4>rWLwH&-7zg(JjLi*f-cuA?*UO@o1*DbCmgL#cEmQPia zZ8P;?2wb5VVR5(i!DFP9GwTjN|I3Psui~oeHVmoN6z(H?5N{Yp@fnamIU{84@&U5^ z!#iZ@u=bj#^W95suhtQ@{G9Ya{!r*KPpRALn zau)@ozVu2SXG5gLN4t(GMZWBZEDzy*~C_g3%Eiv!`EFp$h`yGSD%=C zPkCL|V-3AcFg6b6jl&4*9^lhtD4&-iv!3lFXLP%qy>}xlj#B3(>AMOWL?{!mE(M9= zVM@^Gn)Ha+op2UgXhxaW`)axO-9O5@m84i01*62EWDejBBpmA=A)N0k?C;_lyeF+!#54(70R)RyaZwzF0Ei}c$iO1 z&pN)fSF^0Q-2C#La$48$-U#tiw1!T|aU8|qwlW24LI(67E^#MW-QzsA@bt{+cA4Dz zx7(z5WiqRnQ>>)`8Qz6cDhCV>Eh{c9j;u%dbQ(a{50hr;7d_?tzSpsN^|2y?PD``U z!(50x0F)_M6N<#6KDld0d@Hu_{F$9_r9ALiS5^@$MynYgFe0O#$VfHmi+{ND{is@; zELV^GJ)37V{ry{*j^h#=lo?nTvcfmm#2p6XL0ln%#REFZ6LaEO1%xEqh^O!)2S#L| zc@N{@&i4mtapy9ir+dpQcbyt4@v*%7&)BkZ3Um%DGq5g&Nn#L}xYKMWFEpK*V!C3; zjk0>NU!ZIT#6wUdr{G|~I70Oih3fay}_!{v;oyqFu8}E zK`qQin13y;?w!;?RPS>hcY$btDWiD$Ry=kiwN@fD9v^0_GN5@P#)!}~=Z@E-#X!1q z4Ur-becD|Xr$pELkj^W1CyRE<3?dUX=EYtp8tff(VL{b$lTGVTpfzM9Zqb8t^f8gq zekPo&jq3ZIYXq&Ad$>ILX=hoS9KD&36#K4_(xypgMTz2OvdBiM#yk(5n_stfV4 zEq5VDai4LhdQra}4HN-TsHld}G}k2%jdZ^nHVec2kC8jn*S{r7S{EeIV zvWpNc)=d<@QYyDsupERg;OM58$UynW_blcL%`r-sNV)$X^nGODZ^0=3TFRPZWPGFf z-#J1VP$mXsjTsN{QdM?fP&>8^BcU)!Ec?RA*FrcQ3wa)Hv);RDSSeR%jYGgPbG@nNW#+T~QaVH!+cVoPn?8LR8* zDDL!PnU7MnGlG>DTwyuNcTY%pGM@~Bq^h*Odg6}rk@sHxv5>tV z@yBrJV;}_hR$GGPt-Kos%AA3hYnwb^3qB0}U_BW+UNM%4iDx?!TAA4ZVrNud_EMN2 z?jU7XF*gtrJSAAlf)xp?dYmVhb^n>RXb@naaGm>tlDZ9#9MSrFEElXr3cpYmK~h;P z<<>v*$K^gQW%&+uAjv)x26U@9^QFlx*D1B|*%!=0`@BjtrfzKUx z2V17WfKIT4+BdTiu}?vg=&e*6J)sMCr>d;Md}+8z%$hU1+t13ZGVA3E*!`cmtQ~XR;I}LeL_!#4F>eJC$Z(6i03|A71Wz# z!I=nzxf?XffvG*%!Z8ipJcb!yNZX#5a#seml>Sb^?#E;VZ<8X&*0;JiWkJdQagZid zm7#?OBhX99{J=EevEZqy537SnN|yy5X9R7>J~`^1 zi0V!(`^k%BNirr(RWGq=t`CB4pC^Lhphe{`Fc37=;aSjv+LC%&VXOg#5YIPcj1*|2 zGZDslcokJ^8XATX&Lg@i$*`deg{gu&Iv5FC{YZd z*4Rm0990-1eC|fWvFM?W(rY&U@yF+NxL63@CjXygGzXMMby8PBEv_sn3#O8%SgQVM zP~eqdjCIxOA3A{-3fHH^ffk$5fmcP@^aN9j6tN$6&<;nJ*hrr@C{^1pnBGAb7>|xW z{|lqTYGF6?yPd8Z^?SBZ41wNVBYj5j5(s2#Pblp=ER|%iJIC|)5{__VW(-wJddrzT zu3*bo4>}pctt}(n9xhA}@wQiKn(?^Ads??Qb76EAhFVdld3)FS;R;g@Xr`UB5nbYUVHQB`4*c-l52(%#yaBtGIU z<`1@5nPs zsv>iGkF;%qUkrrd2~0WN=)hRl&X*}h`L@349Sx~EDCOZbQWkzL<*xMl0b9gh+Wk-r zXEk8-0!A154%2oyAXeakk>u;L*$@m8FW<4f7{i3>aM^#ax=%&miP*mI#bVG1EIXeD^ zx4gL{yj;Op2GvFRPNhAFx84Jx=NY5usK(G!jKA?)q;e#?-Z(HZ4TGp4{}UYU( zlRZg%%pL3;E&k)p8L^)$7(*a-LM(xJ0X@_hOA0pP&awLqG9bTMhF0VNGcq4Vupc#F zwhrSG75RzcH_CkK=R2c*V-I!+vf>?e*+XY>1rrqXogk>x4?1eI{+Q!~p-rgYudE;f zL4a&^&W{b0jdgy>b1*2}d0R6cG|jLsh&#wh$bf3A<|e<+6-)y#+ODlCt)EaH0F23O zE6y`ZS%6Noz&l86gaKJDFvl2}m5#(n**H`lc+{RZ23cgcW-U6>!E!r{MMneNRQ z9vDcYnF_Chz7Ec4{4wi&Fx5f}qWuJhftH)L@^ppzr=K7I$3!*EUgY|dO6Kv`a*&!u z{qQbTwp^ovOH}(dl3KzZ5Dj{_oJoQ7)>8$8xCT{}(Oy~{XLdR(T2B6gIYa31^Zl+Z zIMjI|%o+0ij)`Jr8|a_@$Iy4QzI?|-foN{~!r~GO#epR8J2IfCZ79xATC?Jz4>iNV zwk>A6_s#CYs-Jy$B9AejON^=J}sdwdOYy5q&;;-f4K86?|*={W}}+ zP~kf|6H%qpLsR;=^%u}Z3N^TnVYC7(EGBXXL<@}G=Zx&Q(ej9NHWf6dgkbo`KA0Sj z)f3!t4Q4V@OKrzE{w$v*cYr#Tokbt?< zK7q#yx0wRsBXlStUBpNMYv<`cHDjSxBs>d-C=mQx98k>}dz&_%i19_dL3)n^1E?J2 za9}+Db84~~{iBjQ&`B`42}_*)2Uc^Q{{vf4Au+pC7zS1=3hNgMhMVw?IYT~ySK*Ec z2DXhs`o8`t%}|Va79(I9D_*_nUw(Ltqto69p-z!o4ATt9C-lP_{eez`X_a{Qsek6R z0*JdpR?JUe3oIyRr+lFA2h&=OOglv!WO>u49%_eVz>NMB@u^%-{ljXdWYuR!N1$KhtbfSk0 zrHZ_azaIz7 zjm-9d2Lr|#X6$d{^PSi-3dfB5I%qq^ae4uy(>h`a-p+$DQKfcgq#!|DL$T4@W~#P4 zx_R#1Uq->^3k_cL1h>yAfdd&rRdwmf z?io1Y9x*Plfap$6!db)73%0n^HXf%yi*6?5yX3Rt+OnB4L+%TzZ%Avlo2WX%1*#ZI z;LZyMycU-ZKsAJ_&1lsc3RG+A-YXWm7r7GG!F3 zYSq?u4`@B5ZqxA7bB02p1yJ;hEpnsHXLG5$uI`9Q%;aRrfHaLwN=kgk)FPRV_IYgT2Q=` zn&((Hj)!X#f!AW9wYxjH&_?W%#h$q9#vtyf< zs0u0kuUuv#BDv+fy6ne-zmNq1D5tX zKh+9KHO)ilrYCcmi3Aix>BtKvk{3F}D!}Tfx6v2KMY0i;Mrb3d_|N^0y$_5UJAIXE znum}FTF7N2QYhWy6*J>s30TR2mXFyO#fQ<6eZ))L`DTD8VtT^yM#2LQZjwL`-$bRF zrZ3tmSC`1*GGYtKXDkS)%FG1MdQgoS?Ze?Z6wRWI$2GhjH4^x|+5~o`SL$i{f@XcO zOKj&dVh5=FT?@wrf#oR?l(cZH;VRZDf~HPtzC7 zAt4X6hslI(kP+>vTR(WpDaHDaRawDk9Hdoa7OP5s{04;&rC!SB(PqjHCyRDUMNM1K zWF!O1V=`eYrK37zcyouB*Z0vdN-~3))ve5!l_kjQRehZ(i`~}VG-#4a+eh1-5^M`h zRoM4TCTxZ3^(}RoL#CVRB@Tue1KMcA^}vQlWZ839v3au_^4Q=erJ|-S+BjK~_>Rkn z-5h`C)>pK6f>V$g%#Ny??XYC1TjY|SKG9jv1qu^IXQiU1Eog<&4X@T`zzIqoJo|sW z8y+s@6l4ms<5o6!y^~XJXY=F~7#&b5YWhM|*bFWcw&M~xb?f^t

    BWrde%>2wQ$f z$6d?k$sr0{B1NgE=?f{=(7RP5g{sP9bxV^z<`iTYGvi_Yz-w7<{iVo5qb_Fi3UO96^Q^Ok-rSnI5V(OZuP9=gA=olf<1$JxyPV5=6%$SLi9Pc2WMp zEmK(~g#-heCR<*iFxf-xUCGb+aSG^y9_s6qdYZnd^<@Y38F7NLaaX^`DJdwZw(Rgc zdQhDijEQRJCq#9BXR7MU^5Vr$lzN(nkkvafBCqG*6Bm5sU6owTDJlRgakgR3a!?Rh z8(4W-^;H)(FOK07*-94qn?iN$Lt5XheiaG_xo{Wxn*#WKoyc{v8M2uy@<4MqMQO1P;u9ymPB1W7ie7RUukOCep1YjOha->< zu-CyYN-fPt_PfP7bn}i6suGn|GrOiWP!d{LSQ%k-(!8UPA;BYQgRm*myWA~H2As>~ z!x4%S#R3d3DYY~&p=#_cE>m`M_{obVdROL4QxURu#!tI9A|K8K*j6vS)fsxw;HS1Qkjh6%ba#zC+*d@-12M zZXWehZ|;afPH{~IZ_bEW@{44)I>D>e5B3sm^IhUJLB*9Xn@Mqj#Yrxet0W`5jf09K&$tBJMreSArh zxGishI9ny(K)kt+_a-IPa>{FL=)Ov2?$9gMt;WQRlq8C7^fYDDQxvv$nvQ`R-%HFR zUc?*nj`S1f8QFpaZ(Q`|4u71giqrF@n*ep2hI_m@!|qbI851jl$@Wy=Uyn6PaLr^K zK-vFqj{|gjR{F=`tzJZ8->*LCF-tX(rhF( zeJQKV#vnD_E5?p(sqQQ$%|cQ$K46vED5N)^MSU?*GCJ)tQr?z8Wk#FyGBW1i?^%yY z6P96<+K?f27h}@;Q#CS_6#6tVp1!|H|C>z8{gRkZ|65I;-_if~(f1PiJWNVIM*llW zpEdP{V1?I4i7~HUqV6UpKL|mrGUnB`WOx^dr{DO6cryJu@pSs{$QbSVV{sTmK7F=>-X@oUHk3{JpLucpsEbnd5g-cXS`@z-M5*fuKVnEW6G zo+CBgXf?N%sz`QWV@!UCk~;AsGM;0Mp#;NAaZQ{$J0?GPd13-pWhU2;VR$1ZG127l zH(QZW)+IG=r^Lb@}qawur0klV076$PH Qr2qf`07*qoM6N<$g3_Ka>Hq)$ literal 0 HcmV?d00001 diff --git a/src/public/icons/apple-icon-152x152.png b/src/public/icons/apple-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..31a741e1cc143b863ee7d86e7ebd7aeb25a24304 GIT binary patch literal 9562 zcmV-gC8gSlP)1^@s67{VYS00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>DB=1Q?K~#8N?VSmH zRMox54~l}~T0yPPicf3pVwYE2eSObb?UNmn%p@To0@ekJ#0?U`rJ}UOg#c3D!(v@) z6-5O^0i_`O7Phd8AWO(LNq{6kNJ5f1@Bh1V1}1m@Gjs2qd+!iB|Ig?9nPle9z4x5| zZ_fFj^@^mqYh_(Thq82WTd7w(Pp`}AwX)1Bj+ds31H_vZ9`S8;XwnjCr5U1AX_~mP zFkSqj!Yi&jFhE?OJ~|~0_ecU7M}pc*!jh4oV|JHQ`NlIFI_OmQ|j;#qQ3HPKA? z>Hm85{}w6@-lo@KB)}ia--x#AYY8zaM4K{?xPk8HJ-V-Bp+brViL9h3DKhu1q_;S? zEJJ+EIYkdS$xn{mLymp5)FZkd=(y}gVG55}UY;q=Q>RXvlSZY% zo#eD;))8j#iY7YGRw~sVE$J^hs?*19a*Q~G?y(z*_#5`R)|rBHtIH(K3EP_~E+=6W zGnpSRXt}-Q^NMTKr7RhQN}_$8XkxAr7dU5ey6CGel{6=es){@=^X-B}c9;bG$^nnK zQeD!pQA_qWB!XSsdF_JEU*_v4E>o9GnwUK0kzZSJ-w{zcd8oHM)aiOS*q+(dLwMYq`%| zg<8|6`mk85FjP&HnTCf~oMct6i{!_5d`He8@_SzZ!Li4=MuvDyWmD3u8VPI|o4GCm zA+70kp(d_SR`$F&p(3NaDMWm#vMOm-j56^vE_2;v9hFunwe$iDi0mTvJ8nS@jr&zr zCC#k)yNh;|i3yE&wxpaJQCvaRk^s5yx`J11h}4aev=~OE*R5=(y2LkWXUkb#{*4t? zC^PQ3Qf^B*hdqZI_%g(=RF);pjQP^V6I_P6L9w@u{Jh)cte`kP?RtgW?>&<}m(!GZ z#a~sHCC!Xc06m+_P&ZgX0X!$9Xe{mdE%sb4P>LzoD%+A~#4rn$0@!^_W;)I;sv1%4 zaUzPwO!^M0RqmWlLO(=5wQJz@|Y_fVNvjHcG*So-@<8dx8YA)X>3jzH%u9hX7>|E4%YTwj$cF4{X- zw8we}mHnrOAwd}GphS1x?-4gtq>Eo;c-w3<}D&;BlFOr%kOo8+|;Lo7J%=k z3=U?v-7M(di4~0*=5@QAJ-1bmUi7meA3pDPnVi*yufo5i{NlbJ3(EiFB)~$-`{nfd zDv@2BCVmCsDOa8PrY$u~7dKO4hS2Lv^!f!Q;h4G5x@hUhX=2AU^I~RzS;C^G&*#M-7MvD^tW3 z%9V*X%$X|lh)aD`646agq?^pA8?M)Gnn?@?N-QoD^hf|J@-=-|8+a-|sCCew-q!W~R!6ANG+I@AZ(bz|i#w>BU8sE<6pI8(}% zSwvq8WXYzb17!V-KJxIS8|8sVE|@M0V8Q5!bh&ZdrD{iM?{3AO>6-vC_1*k5*rj}ONxiimfKKR&o>W_WUqpo?wu%;6t z2xaYHUNmM16_}2uWp~RX|M#D=a>&W4K30aN^f*~XvUo)wB?)^B)gTF~C!Ks5y~e+~ zItm;6oX2LO8PM87Y^I$vt8HWTb2l72zMy}df75V3=lBy83?q?PtsWH{hw$eP!N30Z zvhIT(a$k05iu?F9nBfZ>gM1@URrv=cjrgrRLwuJ`I)_wi`>JJ*trSafnP`^J`dlr` zU-(%=+WHl8=2u!uDL5*I7UG!$eve+R$2zW z@8n3t6YxWz+&T3yCFSwOedV@sx6+T~YBqh5z>kv4OQ$IDh!>SitQ(!^ zW>Tu*{wq6~+tplO(Cps-F29*{tMo5N7eh;@1)#XfKy1{4g5R4L8II@9#j$1pe-5H* zR+?ON&yU%(>X}Ocz8(F5rm$mG6N$^qp4npeZ>DO{*x6W+3gXH(Vkj+CU@p;4mB@^pb;uUG!$=zT_YCASF zTR=hahS9%}jf>M+2eD`ZFj$2JLD0U+V9PRp5PuFmhFhyyvh43YlUk@$_&I-a|Tn-ugpPtK%Retkfg^z+TJ+ z@QbN={>Sg@J7$njU|fS;opx2gu@9c6z#sEiwpQS z3`1$p=A~VbPu^25~Q_Cjf=ivPC7d!+b(=wafgzFGlqqlbfJ3vg>5IJjjw6h;B{OkI?A?DQXW4j zW%=jycMg9HNAY`7vy%7u&m$30VANo+SY=oL*`fY1uh@p^@=6NMna?9$W^ceos>XhQ zu7C6JmaRs&s9YEjOI=imzF^C)lvL*E*zZSHsjpjGL+^K7}t zbCxzUctfA_HL#@t=8P3vUAXKO*-8S=nl?UZ(}NL8)7xnCn1bN{(#$i8n%3Ose(4ot z$5<)-{(xYPSCPn`<&O*U%|trBIdFWd{S`Zgiy=4c z+PJVsCt1*^gW*l{$lt||1^1klW{9EapW<#N5)cnoVq-xE_HV#`3K*=#?toa+H=ADZ z|C*scJmk+G)U37k(5Z?{izoQD!jT;T!NBTDq})zbCwJWD2c@hoPzRD#Z(xpz1f?n1 zip6U@eR1ff!89Qy)Y{L}<;?EU=a2!24Zesu8`kUcmg#s16kT)~dowyvRAU=(%uqG5 zvD^MvnOPEW09ss_W&=k!Ex6)oN-@d~t)}-$O#0(?y?CF{uMQ6m$*PV2;i@J9-B&r~vrd~raM5HOt zp^#%BIFxc$#}cFQ)gPp6ZcwU$QI)xGYRhA`JWM6s*Xna+r609CCL$!(E!2pJBi7PN zK(sR1{OK#p-s#2WaWvp7lxV>TjHsosm6me3`$o;yk@~7~kEgA+gv!bi_;sUx$!1ne z5X;yqHVWL26)M#zYpA4_W$wviia($?Rjj5N{k?l~$T=c_n67GVpykPZZU_<=`p3Au zP&6*dl5^6pWAix{*l-0iSST+3(v_BDB*XG?D#hjp)ZRwh701Zd-;pSJqbr+P#zDzO zEi)~iiL)9#xLgS*#11T>g-^A{@N>eZXdP~vSL9e$o5+n=ECFQ((_q-;DA=n~5xi_)-Yy|l6o3yi5VNI-ZcVeuvpSYsf+oo&*1?}988s(E-SIfHjUM8a~ zg17`d^qa^jaQx13B#i$JRCT*wqH6GIDYrh#I8aeKLn$ZJsFbSROD|38{}8J$W6ncj zL{|rd8CvC*&0>xdk`-7KLtj|%yAbsLH>5ngg|5@6 z4p3IRo8qr1!j1;Q04}W&I5Ni@b43z|ew8@+7h%vR<(cAg<#y){^Tf)%B9~ej+SAam zLrgq71g;-_6ProqK&y;?;pp1XJ7+5e)ul57Lpq$H$~(L*AjVzKhX?R6jark4+t5L) zuReo@QVtCW{k<6hvqg|THr+h_mHoB7&ba)J#C)oWuuW&Ez=B|Fc@o>LN&?Oq_Vg_C zh$;FTz>Q%MD0kzr*qLW>g^&hiJo@L~ng05jbV&PqQ-436QR^t_TCH%F_0{ z;PRUTPd6!ywFJ&9>PkG~5yv*7E9fFR&_$-R7bo_loh3i(dIg(+Xq3KXF~CPvXr;No z^EoMx?o!@&*ibTVf1JOMSfJ0($gGP9tjRGJ=wkyv6YDFRsWh8{f=0>09>XI`=;U*B z7YhSD_UNJK5)z5ZX+78siU@wu>#^TN9IZw4WtGhikCW^&bi!ibe9I&J^^IVt#Tc2* z&)&l3cPL*{Xk%$}Wv`f9XxDCs`!mEjbix_zg%}_*4E=Bk(lev$RkC_!Z#IL%L7Ww5 z@3)@4e{I>yv%}CGvF~sE^^6klHd4g)=Wb>59AKr^nqGK%ZyakYy&@mu(@G}R3{R0L z^@umkjz8}6w2ittJIKs#SIHxvrLq~+0#p?R@$`O2q2wc_44Vw&nOh#>uVn<2EyhUf z7=Ig^=kUwURBM|R>mgkf9Po%Mm0ZjjCK^&u_ebu;M!+lyJQ+6HkkJeh*x}hJYzAqd zr#_y+;8<)OVZK|!h#lT8{%}fI=w#jVvXlpx1tu9fW_~H_ zebjROlB(iYr2Ohhx;`^-u0ipniH=kw?0D`LiB53rdy57b=Nr2qoop!SEjlXc#J1ve z@gJo0D(+-fz^~@(w6nD*_~T&;Xb2z<`1p=1{T1)`YSc<9#8(^cr5MYBL2U5VQ&LuZ zA!P$Z6*`valA(J9f~#6DrEiXug|7!@WuTuS8^dSGxD8Pz!HPxy5#h|CbSV7nY2C6Im>3;uLEJNc0gWo&)AYa6t8$SW^Qf#D|xD=CFrS(@l=N8Du;y4LZ! zPf}mvGAM5LP9dir3-}k~kN6v6J3;|CN)E(e7>vf>bwvRY#A`=)lc-+^45%aK0vPK= zDY|uJp#P1#R|lxL$KB0=Pv8{?eO_^mlGI5n9w;s;^|-qi1r%RB@x~Xq46+7Q8K^!m zEOcN|U?L!<*l0sFF}eed0C5c@9^7M!-7BvWx_5P^Uo6bRaEcCmwq9 zM}+h19yv1G%=B*>zMab`9#u+Vp1yu{4q9UPjQw5|O7yc-?R#CG<1$Jst2C-obdEiQrne(sg`DTXz;Khk zw8LT%bnc!w&K(+NrLuYKHdJsd6oqNxTKcC}|6u~iZ{GO8TvICA9iZ z7>NrlN&WaCN-Di^bL)4Fm-5(tb$~KVr$&obf23Kl)AJ*r0tq zmN_m2bgH6ddSqvyA#iwWK&afY5EEiYj3J`*)*3Of#Kg1z)sw40u)ZI7bb~fW;V)lt@0HT7G&!hh%iA#ZFf(AjFS=)$)0%E;w zPX+{}F(^LEVK12%(X|dA|m;ZKy##%|bcw&qQ>0qS~_UjLH13b2m zo5Hhj;P++oQX^Xkgkqt31enr{MYgfT1u&)=ToZ{FV(3b5GvJ3{Wrt}4RJ`9?n<1>v zQ_RP+`p|q6)RlU~P&68qv;syS+@lq1{FfX73k>FVi~PvG;@9qAGcY1nT8{ujNYNJH zwgA;6Rd+D-e_@IZdz=9fTiH}<1@W)Qk}HOveAJ8{wOX6?N4%7#i}E6`=&2;t(l8~O z4*IM9OHP61ZCE13WkQgD-g!M`7@v_W!9})aKuZjc=01xA_5(vpv*}16#^R1K3SzEU z&pt9iWrWfz6ik&ySi_?G*GRgMHx>C76fy@;#@fdP{LA^rD5Q~MinlVxSXqEu;t@Y5p{?Ui91mDEjKpz?jzqyz2DTJ1Tg{;b7yPc3 zzB3Jq$LwA&pv7h8tIYZZ8FH@4t(sQ#yomKtEKtMwykc7XOVy~#Eb)qm5xj91vI4pz zxWq;SOWF>+A7xRl*=acth5j7c0$%3WXrO9?I3ZR$cU*+nL$<>-!urQ=X7er@_@Nu! zqxA${v5f@QGpv;ukL?RQl=P)|t4*{Tt?nJR;I8k>rX?9{=9=0z0M6rDZdT@wfnaHa z>elYkOzX;s-OBX6+bd>Z9|`Q|#`!7?uc)NgQRSK9JS7X;4G&@HOhw~l65HXh8!$kA zuM5~j8fELV{~4aaW*?0ltzB@l>=3 zSQ%!DBv_P)T8U;;)wz*cyhv}zHPD5#ZnXKTQ4hEAFZtF-uYa<%kk&3kaY?0GI`JtH zbsiZK!6nWtU-Z3BHY}u8B^+ofFegVxo1myc@e~}%em?@SR$$|r=%2GIMnfY2X{U1+ zz1Gcg)fh_1L*@Nw*r6xBI89ul+?;qrzz3z1>K~;W%%|6|Dc9(C;Sy(sjiYYd?%(u4 zJ?nr-z{z^&bD%`xz8?v$!N7r73e~wyi-{W-_Lun?m&w@{W7;4XK3dqlQzJFz#-ryz zW{NYFTTfjh^?#45(1%G_pHsS^C zO!P-$mIZ1bJcCNPuk{#8w$cpIsoX2N?MZ7}v#C!9xtuZrLluGT0{BeOgQtLCtAWtX z(R_EFJ>6gMz*5cuVVK>e1~VME^F+eRc%oLK(S2En(GEv=E+o|)+7KK>^Hpklxh3UX zxta1DulOJD<8yASCKA~&<+j#mhe>3V_!iHZL}p-XryZ&7r1AS;% zL|bvMZDWWnpuF58?cNU4Eu)(s$R)}aGTJPc>xWL~9HOCGT&6+HX0+vpelPAErhv$z zj3&^%IJ$|6S2UETiEEY1T9;vVBbz9jC?9(9B&sU+hdBjR59>^W7#-i#s$mOpSQzLg z;jdXYt-IqZw5eg1rd-y#jH<_%xCGe+m5?>H)4Dwq<``{u0_RABptYwzXCzFH9Y#be zIa{_cn^)gURipD8m{5c4Ddn=(WhAgSxCGgWFTKse=7I<2hC0S_^%w--4?SNrjP{2a zK{xzW^Zbw5G&{h%%4My~sD$}|NsQh2tDd>;S^wtY$27-igW6Q(a1JzzHjT$%9A;ZJ z32@y&Db~24zbtd`A@8A(pH|sAOTsOq0MeBe<5W@>_}2}6UvoHO8P<6wG1DO$Wl-8Q zD&Vhr`Z_kPj^Gvh*Cq1NeO9e3Bl1&0>;zpQRnJ~OmID5UxZ|%NW`=g+ZB&G^b`X_b zce=f|SADDOs-PQxTbB^WpkjVL#bV2C3%bn?>F8!WSY~xUd3fT_*)%$eM_j7h)_M%j zv|$tD03@)6hItv!$JM(Y1TmG_p&VQK#QIAA^1iZSh_xxr@lfOy*D1HP9xL&Rv0P%D z;$ZGo%H1y7-B5TkA0rST>g!$LQDgZU5>4Wt`(o zfkARkK(WwfSj5+YJ@#f|b|x(8D}Jur)_Tn65h+|^93!L6Qva%cYdFUl2Gyh4_$w5n z^Uor1Wa7{Gv^h+xEWye>;-?fFxwa)b@s)pN)JFlp0UYRwAbDSZ}3=u^Gov#*Kl~qq)%csp@_GgH1DYvyQqY`Wfmmr6z zZC>L2fOA|-%uY6p35m=?(0}N$?{MjI6!KBE%oJxUm$fdVn}3f>loM!O6|=fb;T#tk z3d*hQQDF!Y8O9fl2L2TPRStE(i-PiPqhrtEcG}b&eKuisQ<^TCkG^{I%dGP_Fyqze z)SP(0H4MzI^)K%yef`6ik~s|p_-`tAwLUA(6hGq<`pkg2&z& z9niJ|Tni;-l!5rhPkYL;Om_yjL!lCEpmJC1GwpfbZtkKu;OtlZEBY334%9$gWM=h{ z-JlBu)h06oqxRLC`7}8QiK{B^%}f$)lnBS?g$1E&t@E$QoTYc3Hpk12>d+_<8ai}C z76n&5*_lm~!%R_bYQ09WQ4h>`U=n9LB(VCrcWxP{ISr)*x*if)Vi{rMP}#I%KyCS; za|-GHUF$b2@ru2^elG4k;gpqi5gkZiZapTjwtUz{5Bk^Lvn{S3d6)5T%ASC5LffCs zBOWB7{e#l7o$}582b6h5C5h|p@(l4^<)YSal%UaUVr>AW7O?`3!3Hguok>o+!@oJZ zN$<#05&!1lRsM~S{+r6G6NdeB(OF%ZCT^s(^()H|kCQlFp|sAT*Oer`uZU9m`w+cX zLwQkyS9-6C^1F=wMjs@egYY4JKaX0A_m_IaFAY6cyR}(mia4J#qA(~58#qMFBOdZG zPgj+4%o)v_vj5IG^i%@dAow?CXRF(`Y}hn#?_kj$uPyee|5vi&RPjIfwS|bpF!XCY zLf>6Xzrb-s_mcjiW2|}Pa>s~{ zB%Vr5bO9>qJp{UI=j@IOkK z6qloh!1fTu8HhDd#H+V$H7RAAzkN9Bt|$KfRPFHB#>hmH^XAj?(|Nhuk8jLA`MBYv zwQ?Id{sxgdp`4JX1UVBL#K;N1Q+JoNR&Tj^Z?le0D0yXcXRU87V$vAP&HE?s&58FH;R#yZX-vhh!J@MNO;4@`MJbc`g<~o;C1?YI=y~QugmDT z0%8|YMjWO0n>Ddm;o%pq7el5dyCzOcdvJ0)@xcF{XNuex&KF}QUqB_!MPl@G7mLy3 zE}>TGrD7D7K#xuMvB;VD-z2#1B%Vxqy`Ka+f?i(<6IPJn^!=orW|leqOmg}oB#0g4 zWOP?JOx{6y3KUEWK(oPf0nQ#|jy;^gEoV>Tx-6gHnTW;Pw*2#$^C$B*( zS(A1eSZ>}&tdkQ;-Z5(3{%g*9IPGlY#NSdCS;sp%L5$36o!eF>ErR7vxSd4yAyrMQ zh^_Sh9x6qO>9vCXuh9hPMx2(D=cDVqm26F(?lzs`pD|O<)w&*XUc6k49N$@t$on4s z{Sz@N?-u&M2MHpRM0gMV{it{>?++x77wNqzTIrKB;S>7*OJWVZw~g3GR1mcUFD@`5 zuZy~aq@7ka=FRrx;M=LX>}wk%^0LIp3H`Lr+L7Z25`(o_5+f%(M8e~RHgbGMvZM8M zv&ScQBIm9Qb9O?=^Hb@!LOe1tY?^n{TB`-BHpbbBBsti9`dIFSh2aiPFlbODtIE^F za`Gm!PEIVz35TbRp_Q0}84;|b6F^=)-P7Ib?vi#|7+R5!P3%R^eM00;{D=gHez0S_ z0Bj~_LN#4)EnROC3G1$8fd8*xh<`?o|95hF3W;DW@i_^hsD&^rgV_{$3rSSZYW-d) zL6g?R{Q694HC%P%4fPk4?Bqn@5HTj!8=zYfoV2YhEEQ zCI(D{9x>G)zR1$jS3l z%k=l^+eu5B0n3?~O4Z)i0r4=RI!Pr7^6BIvTF!*{e;lK>+h~;piU0rr07*qoM6N<$ Ef*KO9Bme*a literal 0 HcmV?d00001 diff --git a/src/public/icons/apple-icon-180x180.png b/src/public/icons/apple-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..02c2741ec752a31eaa3a501482a8fa0f8d3d84b9 GIT binary patch literal 11875 zcmV-pE}YScP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>DE%-@9K~#8N?VSmD zRMq+a4}u#iDz3GyqPDhGTid_2wVSq9c1SXl4Ohe!S=5>UqW&6e)hZ+?YOVZjU4Ck< z8z7(}B0Iu*W&yH1FK^0%+6NAZP&7+FnOde|k{ai>D{Q>>` zuT?oBm;Uy{Krhi=eZ|#ALO#F3FNV-HtS6fE;*AAudxXkhh?JhFk6GL96W<}RPK)Qg zH2mTaZ3ChIn?BzW^ovVM?-j?Z-MGT&hC7?i?=d>x?JdsVAoTtE${aC3?b5Sj$q-jk z1uo?()&RA{T=L+sJ4DRadM z>d;A>=9PUSm&8`V9Mg8_I4{W}ahy85XKpj9oOUF%30&o+0un?MQBI!wR>ZpMG%VS^ zEO8d?=XKg|z5Y0b>7?zqpA0htW#*duhQhW_w=RCAOuj_!d>jF1Di5 zj24Duix-i5fpe|O5x=0nRdL&<8MFiPwF31ly{1OexJq&bBV?y~oc-smzP5X~ zZQKBz=jxEjMy+QlFsh81`pR(=mDz3N!k(wgaW{Tfe%j@HxgqO#b~{&)Bl@Xg^(-A$ zl`lF4!?_oH1*IACdUAmh^GAw_oiC7UvQA{TPdn&7yj7f{iq|uz4LKHU#khpUy*e}# zbA*pOe_O83Jc<2Ix~cGD>GT;jus-H0#SJX&eJU&F2op%uYct*Fsi{oo**T=|nL%4Y zg-(TkfUA^rvnt~x67zRhAxATjM7_~%F|}VbR{O4IYa*Htll=9Hx>O*9!QNSL2@J&zS`JZ5+A$nGy)kf5u#_{6tVQG1qZ z!>E=UX1<@ zyem@yY2)jR_N+k7f|104OT09N9HEL#ZvucL7VwFOxJpPDQ@fta3e*a28gL0_ix*Up zdzMP0!v4Fy@YBVntaeGo&U)tba8Hj1dFdsp$URG?1^nVut^(3QdGAwLVOr%At#O#1 zerXc0)+fH%*G{g_Izg_;IQh_o8_)kadX+G5a_23gLq(Q2D~R><`Y7mg;3jc4CNy9L zD$E{I)#RBGlT={aea9`{=5H&vQQ@QV(J138$O({1#|hIa7-8JxOa15}#JiQs5X0}K zy*kKQ-OrL!s9`&)%LQ_L=Wm`kv%7cPMh);U*oRMKZ`w*d)G z^!r!DMB4UM`dbnGyt6V#Tu+}b!c9>m{!3#|PNgihPDm1!q-3mTAT zWRI0BNM(iR#W^GHM?ML6{Agx&Kbzf`CH&f~_AOK|)9Ggk>K9A4xozn+OZI-QXuCB_ zT#EHA=;EHFiycQ|T~6$!-{Y=F_a%v!EBt6sS=bI;VcUFd+5OnTl3u5=$4>@$Ozv1# z*-F>Hi1vwLcJ6rbnA+`JcAs`Z^<7VOzc>I5_{5dR%z}~_4AG|SXNzHU5tHd6YV;Rp z6tlewXtd3wN9tPgPTc;IVI_If$Z^JXxln$V`vW;=z|Z8;$F7xYM*d!Id8Lc2e51SE z@tb_qa^@*<0@TcP|-ut()BPa%Z{fnd@Zf&}-!E{y&wU_`fgb^*ob3mRWEk zWArjQgfI(YdT!sTg0!(9kRxt!WyW7srszb%y^ButL;AUcPPS2h0amcuO@<+6cx^m( zx&4~vmJ^#Q3pzEf8F`(odaJuU{AI3env*Bxd~1Z}<;h0+e*Lr@dHB8Va)0qp<<1As zm%*FN$J8q_+H3JJR}N;F)cFE-|EYv@fQGP^fHRNG`mY6{uwv(EgSW3R5;f zHqGlN>;BzE?)mfgW%V7W@aGlslNY8{7TnZ)|4}q8xJ%Z(*F)}p z^kNyjx#g2)dB!Q)lZd-sD@-OYuRn&P_{E{>d~vCgT51goaaZ_7LBKCokvERNu(*vF zX%re|0(tAQjFveRmAS`-b`Czbw)XALb&U(}uII#cl=1;me$|H;rxl_-bQ~II-7XKj z^h>$pZfZo*(_^F0TrRc|(1WBe8^`gBK}vF|v6>8V8i{x~JrV-!38WZwC2@ss6?n9T zy-wGK2VQ@Q`+-eEB@}OA%mpc}q`7yM4DB8B~yzPgw`mL@qG%vTgpceP# zMPq~|cQxOa6-w{m_Z^EEG5q1_d2;y^zm*eubYibR5$Gv##Ux(8cvH#H9-~m>INI^* z76(cbTYT-<3NXsYJv+%&Pya?X%*bvbf}@o7pGLt=!R?&19XQPMN{aRvGOFk^$u9p+K8~4`8`QXamX(;4)Oi9rmtIiUa z(w&;>cbAv~dBa>K!~%`Jvd4cR8)oLP70!Zq7;!NtqJ&T!j#!x6Zz9YdbJ1=5ep-+( zYu?Y0Q}TbnmQgel9LoAL!gjy7O-a!nqdVjx^3bkY)CH4Lxr*SJNFm0yu{SUkYyb>$ zSZyRi)QHEq{l)^ZFk)hMe=#uGyMiJ5d4vBSTUHT}`@)sG)1cjE`w+Mq33S~W%u~81 z&K~V`5#fnCD7+s>{y^aWE{cA_=f$SZQfG6R>)WHKq~D0bvytI^TAce}}8 zemk~&)4(1~s#OxS-{=5$>JI1{$g^y1n0v>1t%5NiVppON2gDdHD68muKdg>UBAF?A zKW15YTeJPu{_A>KmFtQXoTe)2rN*!h105u&J80So=C$2f|5@I$=t|K*JPOZ)zGSW< zErZbD{^rNB1bO=CK@rpOv%>Je3IlEieLp+>j_F@qSvyG}TRfnompY>Zy{tcQTJejz zgKyk0GgLk>cJ4AN45M#|T_JEh+7WjqlNq-ti3Fx-%IL;GqYhXNWy}uVL_j&jh}lC+ z?vuNRewQzEXQDGDML+CZhW5qesK1|9PELp$BF~^-?l()=1EA=}so)(B0d3@TFh8Yi%NHirDmG*uyr} zOIiJyxzJ(7!%`lu4h#C=M*6M=PajXvXx!Qm7GY+2&Hdk`lw$Q)O4DdOr+> zvR|*r6{jkRIcwW;#P{d~QogWEGj2LzY17jCzvc=(ZG24)xllZaZ{0CK+NJ1p`QE zNK)9+I6F^%aqHzrlfdGEWsb1~0+OAOYs1xd3;bd$7EV{vN{?;K6{iRMVg-AG2|%VC z9$8qHV0yQ+wL*yZdWZ2{FOoao>lLmrJWA31gvvzaX(M+wc_S;V{vRnD4=H8B$WvFm z%WoS2jX;Dd5jz|tLH~*0HXhMay|i8oV_kA_K~D(ERyX*x;e{L7x`_p5j>B`qAsG;M z>PH5RShY`dBTs#VIYAbzSB&g9BQs8-nbGeG8Jhb|;kE!mN9E!XY)f~V83s$ae}z(} zG6;O#)6BMn=AGB54VBeejG>XY0_?~H1n75Ob6>k{x2ey!70)Zm|NPGM`;JvrMqm&tC2iK8E z8LzwbpUu59Z1=*J+a&_~)|Nf6>H07;CtgYb{jcEzh8JJ1RaC*fOP;uULY)K2m7g=_?LUBP>&Qrv4skVqSqIwMA*N8r8Y+pQW- z4Zxl1|4~-?QS#4Rp61&GW!ZB=OFZi8ic=IqTjZYYT#N1#Fs#=e8>sBSLf+T(mXp4~re! zp!Z{6x%!9BHjZw&Pd$jSx4j`{U1j(?=q2H{GYi{O!c#vhUw-2M9$Qalp)e%0&3D{D zJmr;)++#SY${g*jM_OZV8Z`#Ei?9M#$>$0;ImjC!Hv|2+CWnJ#vVUb*XnH%iUdj!{ zQtn+!zmV6~Tc{y^4+n0Rt*=RWXbUzDf2VGH_y*y&H-onFQew}16!PK=9=?XHC$qre zQA`ad`1idzqN9?Mdu(%GaS{diCO8dX%W8^}vmj+1idOcGxy zdDAj_tbY|A&4V{YZ$>;3?V2AJn^`+tMf+tMgcw>!$Wm898%5m+h`%?z)N*^XAO|~= zY-Iwoy&W7gx}V*w=Yv9zRmAUHp|QV}L&EtXxRKcNAYs=` zYkpiSXt~%FesSfJfISm@Y+V@zgEM$fVnobG@ry%MIbt|gyH&DEk8Q;IciCb}^vPi< zRy$sgF!RnU?TeoyU>+VqjaUuDmE;+#KbNxUuo6)WgAgGu41Xh}sNbjlVZrM6g!`g# z)5Nnqi(B4EWtQp z$_$GNu4W6>5|PltXivxL$H-Gs7}28lLT?BMnAq5EgP5%hzUZ+!%S92I-$zcfu&_FY z%<=YGPAhuoX}_g9Tl`wd%oz*%#I+REZ|6=3pr>PY_p{iGGs;>!8iWWfv_)L3H2wyM zy>IO%rK&U-Zm1n!*dt~WJsRM|#+rnjPGUih@&Iw0BXM;gQ~Zt&mT=N6 zax~BY;4ab#n_n_HpwbL#y`%rxj^SX$xWP$@!w|czu~y1$|I0TT&4PY-Gd&t{So+wn z*!tqY+q96Q!|5Xtq_KLUXhkYt#)(-g6u=u^z!C4>wkqn1S8rqsG$9Bt>`Kx(3VG{| zW28K?OQ|izhW_UD&obv>fyjhhuB3Dhxzbh$2;BF0*y&h;e|ogK0%GR-AZ*SGURrkampRvEOXE-^>nj2h&9L^MUAfYLbobu6ZZ zM|fcbbgfBUK8BrE^Cf>=v!FbXoye6}6094216yAJiDyO|e`X<3Pr?$8S{Nd5dn(&6WUUZTB{rg=kZUy$w$Zs%6n=4-1Zfyc{%29>XMVGC4C zq|s(xJ0)a_pVvJlW#t442ey#jQs|wd4L1#rS2dpE>5v`H!7k$fIYG|q;QBRP4#Ysw{#!bu7@QY{cnwg>puk?km@gg8D6xlX5s!@pe7y|<6 zdU7hXSp9f7v#oY>c-~+-4dO=ZzHfQB#|2@}+P{WJ7o)T8u(W}V4L}Vz5N&b=m49hJ zSv~R^Et3*$Bd%VZAm9^Y<-Ou~B~@cap+*jUIpwP*p(kVm-Q_DX+H12|7WM2P7xd_G zu;v5b9Bot&c?V937_9j-#j!J_Y&@vc;c@Q7Fm_y{<0HI4UWXot7da%D!nJdj zl-u46heh1=qzdxXI|rZ3)>m5ai;68d;$kIT-e{vi?3W#8|4YAoB<|{>c7Y^(q;W=D zBxXgQFocdJ3UFdYYD?hn>58MQpUS+p6)k(STZ~QS`z=6MC%hr_(K+Z>=lClu1GsJ1+ zoy&9^rJI_DIk!K_6>MBI5#JT|!m(yEqkD?`u2C>uD^(51gKOOrGe<*DxZRI*;_AsQ zj8k$Jg2dcERRbu=aNxyj9u6%Z*uWNWGbo%uzbQO%!ZbN^5X~g0*n5n`V?E~>VckDD0T70jp?%STNCpSR)4QgUW!Uz4bj@u~R1aCWe6g3RD zas{k`)JV(?G&4E|(R2GU3YO934AZc*{ACJ95H`dbT|^@kjmnk7!ZT4gLu`)eUEJ~0 z#F0rpwvJqbU({=Y4*JC1ZuHK8TCnq*miB+UMFC^^t3?!2aDq)lGO;s6*22i6qHAvz z2{f`DLI!Qdw%%x4y-+LO;XOVEcw#LnmIn5h{EV$5*Wee^!tYM;i>2%aZon_<4!zx_ zAiOR#!U}5OC6joA;a-89ZtA6h7wNvrugmWe7*2g&zUJ#p3CD!{k{E z#p}1X6QmX3Nry1(D9wkv@pi15{%7)a;hk|+HS`o|=zasDKnw|}oejQ307vCAQ zC4)>`J6TtuMp^qL2{9(F7ST%cXqpIC=@xcIxOUf zVa0!T+XNu2S&dklVs$Ou6X~ETCDgL#HOBhq`6*Xe9(SAnIJOQ`4a7|Rv&HBjDSRvU zg>-=_@3E$6l@9$mTi}LCW?^tN`mhujR#oEu9}DzgM4RT>neEJg{&t(ZZz39I=gZIg z{E)2=fT>r=XXolNRVXq44OyW|#^2a>pSX{_bh=-rsj)iqByCX=uHXQ?^ubRu*@909 zyjU{f1_X^5+Uyz`=xdH%rw%KLa@&~&;YEr)GuZrc7x__VzCI$%>fVt==1}-S5k)0w zHs<>bXCU`ETl|OpvV&k{op@r7VA)G!_68>mqiD;B83{8OFzOevt^eY;u>!i*?CAN4 zLD)P0fUSpUFnw-W?^D@&wG(o@TPw1~AC+`t+wNR(I&C}&uAJLZs=+HOCK;RwKECUP za{tG@*$RkDGT{cq3~vYlasN*Qy5k~)EOvS52xtsy!~M)PC&~ITv6m~*gM}EAT~sC( zD#Vx?^ovWBWD{Erl9T-6HNw%i#9|G+FS?prAbtM8t7K?yE?WsK5Tn(>6!hCh9_`7D zFs^$tJg8zv4BY~{HgwI|7*`*jo+l?~nR`jltnS~upwmWbi6<;AU4S6F$|nX>oN_?7 z)0Ba(Ij(TxLNQ&{8!?tR;6SbiD}+RlP@>niNM=w5Y$zcQ{W||YJHS)Oj<|YWo-F(G zulcf%140k156;!I709`+*qUj>Lg>M4@e>mDBJLn|f=86qH)BohbD3*6y z1>6YH`_hKZneEJgeqw|P-2d#LjP{K|l<4y|$*vDGw0A>t<(`P?-OfRXz}B}>NXSRX zu@>91N>ao$Z=Ed$lCXE^4`>%w*1L;l`G{Y#719i=dCv$hxcwzF(g<)q7~n}Jd@({P z-8ivw!Q+6p#!kQEO18X>056TvU9P?pp|#=sVs>S&xLV23eyiytE}%Q+IXd8e{Rt!k zR@+JDb#LI~9-ZXQ_u?!Uh6=Ufo#8>@jk$d$H8?{cY|-{b=Z1Zy)LT>hA009oV9lub z3o#mDPLGakoyUX3ys;`*+~LS8DYO-ovc!+*z+>sawg?+J0bF62W%}(uiXD0^p@tGy z(TRZ2xcvd#B*}KqXLi~%3)&SpT52bO!|>Rk^x z%V5wi9^aQG&Qfx7&LC{+U-|~$1Y#~@>e76hbj<=)MlEz?zC1L1#HDUp8XVs%34B++| z0r54u;8G=Q+^{VgjrnrLQ@>-&)+*DO#v$pXiP#*>7LTUw#XyM+F%Jp58=d@r=w$1n zFCZ2(lYI9I$7i|Um-S!z!=BD+uZBJxhzGXi_K^q()kxPGLK}oWR<9)ycv7gFxBA^) zU+VDouK(@Gt?!Yg}b03KoaRj{M+32XCSr!-k zY;CCQ{=;kqCc>!DA|#WFYIe999yLY1B8_uzmrHKGz);$O8PMBN-mCovynC=ZOI)fX za%|fBxuPv%Bl6rxe40$+KKf1;bi8u~kPPU{p5NmPYKXKcZSTbMnAhp$C%3-#{)f9pVIg6<}<|4SZ=q% zAGNGNYcXU+p#@8#?oB+mKJ)mEb9v`9F6s*}enMP~Jayzj zL%8#Mo*|d^I!()x+)CjEz8Ae83PS_P6H-!Wokkw}nefH7(Fy_Y<3Oesy75p@cy%s9 z51puLrr*=Iar4ceFj zG4>tdn~^(40**|{lfj$q8>Z$!>>S7vzg1P=I*q*ar`*LygU27<2MsT=$#=Y#jfca97(NNs?w=3B)N+qaoax6WR1X`DE&lcUei%umd(CWK73~y?& z;3Emj&iQy&CJ`W1;r5j*Oh(|5i9Sa|jc9^7qCiQYbyE0?W?ZPO|8(00q)qu^#A=ijcgXK3+9L)(*+*ZU$Db$X_$TMbG8dQnR$i)-E6i#HS*=2$1dis-*F&l zdOBaJWYBsnkSi{vi`&axv{TUW>kqyC$Km!0n)Vgl?`su1M=s~(%bNS#@lF&7nqugm zDjBpMtGZR3LLo4op=&i^4yuw&U7xx}_(N0n` z;LI0D(Dj@UOk;IkVLZ_5kz_pG@L7he%1zJfBJ@z5qnD$jl0fS+3OW9VyJ#l~-gWAm zP4n~jazZc#VqQ*=cA%{!YF*Uz6MM4Po)-M#kSvO^;{LI2LBGgiFWNzZx18`kdFTzC z5R5@W!$en3h<1XRFc!m)!|(o)z4kP*T2+7RGbDS{BPiW(-ujFLJ%Ti99*KkqTk=7UG2mE4H=&L^Oa6*U+-Ys69qLqx|GBDiF zZ6XBO_skXSwWk9T^y8}fTc=S>^%i&GPC*4+)9^|6CpaOnU}lMx69Ahbpwrbne}p+vht_Z~d9 zE)+TPVP{#Dlit@BM+o|{cvdSnwLZrz{lz;;Wp=W6Mhih}@M$Z4+Bi_+1PDdY z>w>lK=w{si?B(n=r-3ciJzTnMuH8l#J5YD=PP6CmxEmkQgpA3u7$9+5XkmfSvU?Bg zdg#2DDXd#YkNbn^%5J3N?hE=vhN|w?Z<}+)`Bdm>NmQbWMsC5nT@RkqHMI1extuVL zRYG46dQD2%MthBjUtAQ(5}B1g@icv&Mqt(ahE$21_K$U-D={gyqBSNX#WU^o7TMxu zu3%CH6?Rp?FJ9T6DSjVW%_p>c;LnM~Yv3IN&~+RNEqx&7qAn=&t$oA=xc+K1%>Cjo zB<|O#Y(Ar(O9(8}RzrVhQ+%oXumV54ekE2G*r!wT94ul;Ma!`aDLMfhEaw!Ds633z)| zj`)=JIfVB8Gb67+*t_CS9h;U9D&>T7tk6_GaJt;ww{>@q9Sa7}K##xMNQ_7;H9VVz zgo|zQ=vzvkU#IWi4*_rODb9q)QM)&6a>WA|hL#VSMT9uPxE0Mamk*d4TK>R!>QX#& zgW*xO-6yUhabl^1zmh;-rJwHvv&Fk4+BfL$FH+c0L~-{$L>Ig_u_8;HWktNPEVTO0 z)2LDPD0#bJWBDL?c-dfAQeQSWEav5d_E4Ddmrzx~De4kD^Gs(&MeVM7`src6dG@LL ztDgRwbR$21=4sjg)e$uxOdk4cb=IDF7Q=>=JT8V5hv=ttJ%uH6MA1vFZ@ml8Y_cKG zULXpKceCPgEycH}v-iw1ofQ;c&5Op(6hE!b-ZRg1HuRbAkcZyO3&*7t7T=-H-ZRg1 zCS@BE$+IMqVwHPm?g1O4nNhL-dp zf!|9aDcTAcfEWgv9pfz~=s$^qlJTsVfhTCsOxgSIwflhl?LnXYZM3dXsG^ zE`6RAjvFZ~*-c^6CFLJV^jJSz412DV7(VJsF|_#CTEFqo(K#giek82HB(PxuNkWCiFVg4N z>GOx=>8H}q`NT5%+iLpXX8Ku8UUe^hKB9@z5_EGFj=WhEjZHYU%rnpIwl-qy*yBY} zQF~D|rh|546plP!3?1_w@u!mS(dVCvf>GCLo_0uaK5;kwULXobkKx4(NYDkNey{fL znP&;?`l5CuusrgjpNfLw#c5(WFJ=w$(4*ca(RZO6rJXu!&peA^T3*I6F|g7|H{EDY z)Skt*;m@B(G42jVJnjT}9R;IqP-pL%XF59;XRH*C{;N8B&pgu^23Eqk&%AitNI}UE zb@rZlrZc2v4vE*p;5LdWJbFInT6Ug!Mq$UOQ^@O$AhB%F`i#va-#bF_VLGn>@ue76 z{9AR_o_UtQFtAcE>LT%Q@gKt@hs7U~pf(W)38zGk+-HnbuA}3>Nl%Y^wMhZPo;jV) z(6$w$Jo|4obdeQ~yp+V1K_Y*WyyO%T9Y+5ebV9U-HpE_BN1vC`&lib&Q8?yOk(>M9 zyF{&L4qNW~ZOM!OFg(AoqA#EfKv7(KK zHeuGM_TrgmF0sNPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D3&=@CK~!i%)msU0 zmDLr#L6*v<)&<42j>Bj>?KnDCs0y?tBoMN^mqip5tO7+q1rn9kLMh@%$&VnQz|v|Nq`|&-b5m z&pr3PM0_7onI!sEB#R*xNun1C5hZU&EES33?y6+*c9mP~0WMS~i|o=waie^E?FGhV z0;B^5)&QSWx9rG|Tf~4+&}N`SrCXF% zyTz;JDdKwBrCEGQA`#E4RQ+_I@4K@3HIpb9vcqba1IjDh;%V;W9W6S5+`Mov$AF8+ zQpKa%XxBmzj*lsf3X9UDcAxK0>aaoeEDSbdxXYgB--}?*%vKoWh@-; zMv1&3-I@vN*c5wggnz3C~Y82H>xFb+By$_XT{g#d`8ASD8457Nu22;htXsYx)PW5lx zOVvYL=4YAfIxUoq`Wc%rr%k#o;3Ww!U@O+{CnN>65Z15?mv{lByy4cdl0-8}9cu>O zu6dyLrSAUISx@-=TVDuJ;dr7Q&k=1+vt#E7;^#r{7&^N+nvT7C2Yn44D&0AQBAde? zdU}7X=p-qbMGMDdQKaf<1&650kTod}P(@b%U@&iVP$Q=!e=O0qrxheewzOg7y+}2S z2h)b<9&gHQM7!(T_z)T|KTyZxH&mw{I;P)1uvTk z>>iD07NU8-Gq;f*4}6nG`(`~w%VX|s*1s?DM@n0)fF}d0GEx(tOT4D)8Pb9RdhweYLx;b zs)u!I2zbYwHW}!M2}HiniHawg@7HfLUo-fnFu`rl;AQ>Z{H$Oc9iP}!TZ?V$u>|I0 zwxkkX;O-Z#oq7Io0l*aqS2{Iw`_yY5!@wp(oKU@zsPQ0Ck@VjFcZdQPTCR1lCz+@! z#1S3!pT%ieeHp+z8n&g}eOpO+5Nb=5Q<_pel`k8351n1>Y6&Zz zTVAYp`Ia|t#J=gIN$px(!?UM~h%THkxA|^{!%M?G-NV4TXCG{~h4E$dU9=r(@H|pSBRRf(dg{Is7-G@=u5k%!0RGfuSJgKSLDs6P?Tt5k6HM zBEeqe&^>|sHiCeGAfxCneQY*;i4DM^r1pDxBQGh0mtzT{8$7w1Ysggtd)gG{zx7Mg zpv~AmEJTnE+xr&L@ozvX5b{`kZs@yF{O5?8YVajUbk0XqGR02N`+{wpiiHDB_OK&L zWT61N&*SqI&~QFUs2e7_WAbj(WBgE32W*qfM8BK;qGiy`Dy@s@(X9C3dwoL# z^18@#F*4u7nfq}>SW7^O6U*bZ{pr@hH&K}(=_s(+b|eZ9^7*H# zu?DUky~wV<`F(4&w;Ya~7OvkSgEmPfmlA~R`C6ie9ib$}Vamlj?@~12JKsa$(X`5? zZNybJT7mGLC+T5*Ocnz{GLj=gIyL8!A|){$`=%m^c!}z^VCh&5e1(v$mt-u`R83Tx z1$=2j2^kEMFA5-iy#~*pBedGgLo_1b%_MgVCddGdR$=CWZ17x<))Fkx2a&$s&!* zxZ}zO3Y4I<*TcNDF*R6lEn_9Fk56lnzBzBN>t zpmyK7)S$#G08IA`U_G{dWg2at_=stIe&NjF1(y%n~l+8fn=9l+|oJ@?*xl+=f^E~9!1>zWPY z%%~I4Vf7}HvbM?Pjk3kFAbC6k^B*so>*(Ty&V=2OwzuV<7~nmA_A_a2>!m7D+{c52 zL;dszcLoc_ht66pTcZ#Gc*|rw=AE^T4#P2J<3~>_$1|cbMU0WAwq7FoaR*zR3tuJY zYhmfM1n>c~k*Ky@DB3ZQW&N9s(W#8*XSmt(G0_(lm_;g zsvQH-&@io+avTNLNK;!c5&ukw^nKy$ghHj!3|<3`Bzb9ZSQ7&|ZmLcTyNzlFlA~9e z+Im5zyan-k+Ei2hPIa4+c*8IpHjaHAXy+yZM|Uq?1(I8|2rE6PR{Ig zz-~0=DDP6N1a)wcZ|QS(L2spg6=2&p($p&xgrZk9fED#`^ei?RtSt+cFjYZY_*)Xz z={dhp>Q@1gwosaRWrDXgOErKM)x$d#2ft0bsD&q2LAH`E40u`LA_0BtU%ykS-vL9U znO7zisp4S}4SRBcxxs%Ew=%eW#8Tz_ix9!WaYt)LbdJTwVLJ3Khu%U&QY}vzZ49?) z#B~`yH=yR8(3-#Ha}+3@1Mrbwh!}P*7`O=c7UFZb?-_9mw+rTt>j^^-s|Z{Q*o-#? z3&+Q411f||PWkofiEoJL%)dz2q>9`5&&T9#oAmwbJADSvopC;P&f63z;^xhumlsSO zB~`QmNzeSF$nel*BR%u)QbQY%j9J}8x@U}-?3n_?-w_#^?}Nl5d@cjl1G%`~gEmKj ziy@MktHqRgw@M9dKr-HYN+XexdEk;r&pa=^Sc~fdgi2%cP<j)26i- zuV+S!$+L$d97n;k6G31qFdN>=0v6-@N+1W{PvR4v^sE!F&iViOlk7{%B!peM=Nu5Y zBwD=K2*RP$wKgG>Jue!Jj~wZqnNmX=kvBaLfb38h?-A*<|BFv}%1SD;6yEz3Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D3{pu%K~!i%-C7B7 zRn-|jQ4|&TqN1YUQWZO*(_*bd)s8|4ge>nRVFyJKRB)*wqSg{AZY7CTW^C=KtzE3c zI7LB_up1x=fsjp95|jvLc_ASLNFdvLr{90xxi5G5?@MAbNczuwlb3tX@_pz0=Rg0s z_ln*yDMUo2SB$LohECPulN(Nw<(Ufd2sPMmwhV*2{ZDKV9_4wHe+88covSqy~OHB31N zlzS(L5vtQ4(<;1TB1bSBKz!4_`2LZY)qUK3H=um>4~-4IW+1cE_GAcaA@Q3lf}YAPKXb1RgQU+v3DfIa{2e z>HTo4N)(q=CWtt6ya+C}49LOnud~Nqc$8dnb>!tTYwS1+rBNKvGj2kM~ zPrXTIJ$#GYGW!;}@&23Ts<`VQ<_xyZH}PjG4_Ikh_Y?!TvIKBzRQx>R#csL&p*V3B zT=rQsvIBn|*$*Lm+(nj|BCLY=FEI^=_6Z-48r;!-ICw=1JmV29iMN_~aUDkJLlkah8!;g_`a%a8 z1Nokd0u4)sx3y)>XqP4Pq(adntXPG@*}*b^KW~;i{O6H!wdZ=a?N3Kv!Sdk%Eu~tT z(<o>HuXta}a~d+I^HJb9ThRsIdry-&Q?71T zE^H!bLEcoSAc7$p?(4W`6HI8|Izd*=hZiwC+)&{Wk7;?l!3CCa72V*Qa%K|((@_<4 zcFYLQmW`+a=h}pw_hVf@NGy4bJ%R&`Z~aQG^*8ga>(;X{h<=qS(kK?k3{cV0*cJ#Irw_Bb zT;8Xnflg6$yjM0n4On9X!4zy4hZ;kqoTtf4^46BWVV zj%XvDZiYyLIH(s>9J zT`8NQnJ#-p$|J>46p*sH8f!IE%ErAxk!CwqDrM6?{6IMxgfE#OMgwT;%a3i!o`q4` z`JHjT_KKa@b*|Nt+|B0^v#^HMf#Cr5S^J@#z$O`#N^)zi{4FV48-n7(+0id}u@om9 z+f)#l6K)7`qEnmW)a4bm2wrz-X->nDY7z=rPDhkn7#Wp;<_+GCj>(0YNNPdZt6G(d zwKrN_-vD`v+ujarm^MtEp0?rSMm){DO=v{akP`X?7_vD&RK_09{A_ zWitmUFXT8|09`l<{#r}Lu`o%T3sK*&g>68&Kw#&b5>}vrFP=c~*&Gzn26v{&OuyZX z)_6l9unYA*mvaB#(8g1I+a}aZwQNOUfo1B0&Ou5rF1%qc5Dv|&5{ftiYQ`zEqU@>k zB`fLb6idb%pvNNBWfPL!+151}WREJqHQ-GYWhaWTEB%;pMkpndMs$Sc&=l>OLn2NCvE zR1DbNm7;J{x%HX>S|YjbTM?mj$z7o>a(ncJELR&c>yyLOI0iq1~GshX*Q7g2i zZnnQ)rU%%#`7GS~2wM@Lku-}XY?yi@QoN)f8SYVyk^jx-HeqiSdExDB*@pCPaw`z~L6vAIdg<5lEI(O0=0((bBI~>Yp8|T{S{Ij3~u{e=pYV0qh!TW_$BhDjNJqH5vwo7vG#4D47>f1S!w9 z3n3KQa&PnFT02bZyXn2V**?v{nmyWUAHQJqws4)8fexEnGbaQyFqh+;5@?7e&;W4d z48T*`x85&(llhlzcF@}sO}S?VF?n1EcGS+kpeRr{r-da?;GRK;IsVbU-mrKW+ZP9% z_@XrBo*9DIR;~jFaF%Xc>n&o*6S&00*t!@5K2MOoiQW1_V7jKnj(6%VV75@7%%m z;RauVn5-%H%sTtp&W!p6SM0VE52ly={u%;_w$1dhH*RJ7aDy*V+^H$|%&I4fp$J?7 zt`j>B&N!UP%?K! zpm<&jC#0)D{TFoCqH?@A2mSmEL1{En-XwZ?PoF)~HbmF+d*kaJ&JYytgSb?TW;*^Z zgun;j>Lch)g)R~@kRFw_KKam^%oN!jY+je_Z!Ma;P|DP0_3hc1Lig(NMdAM|Xz$qvU)Dn0-PPfv>Ea=kF%B54% zXDOGSpZGYehuTF=MrN9o8FatFZxE!whG$Qmb#p7>w{ZoZg-jdT6FoKur vyZ?vwOqv(7*&Gr}5jiCz{O5taYC`-E4&P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D4}D2QK~#8N<(vs{ z6lE62KSWeOK-5J=VbS$oP$+aucNIK10_L0~C-{$J16Lr>4^=}8D>#8>rmhVJip@6G$(cXUT_ zDMTiUD+(Rrj=XTuc3!M#tS(=a$idcyj1g~^hKQD`x>xc; zMKd_@V?`X3Jo17n#~yy2pT$t(PE%J^ztIbpWwVqu53UMnXnHAQYy&nvS z#zQhzT%}ZMIHCsiK@-4WNwg*|SQ3wpG}XS<7a(msnu`WZ~SZ;Zym0Z#LW*^5c?bVho?*$7>eC9y+Irtv7v#v8A_D^l_ zON_v{UV;Ws`gCG|oMKdvpjl~s-|J-_jPR?|ud%yy(rq;bAN|!`{B0k3Ze_G|r}mRF z?OEXYJijJJo=Faq6<#Fk4AFrz3IIKoykCQU%C4*BKHa;h{a=@KAMxLG5 zSDr{{FSEm&vwi7MpJpBHKoAt!uEeo{ycuD)6ouVfBUWrcq;QJrtR8faEdRD=m3#YG zw{EbP^kKYnh>iVy%PLMKN66H1UD&>eA28%NJp%!|Yw`w&*2)#Upx`2N#b8JeZOJOS zB(#G(FtfXKr^I>;&K$uSEVm5ucMh@ndH=H8MtbiTd=ny9#NOrCZ(1#qyAB+5z9d|< zP_Ezw!)g~-*$!INnU!2KbDntzP(^e(HOa?R!5$v z|J7-~QNf_e{Xoj%AEn$e!F2CsDStUC<*sHf$ja#wg$xg)%p%!zDPS-ojkF+Vfep&W5$7o7CUh3f}r zNlo^?V<@Z0818WnC2OlbX@!oVojU9uZOcRFOSE6xgniq=s3szAt!>x_uJF8z5d4PUV$~p8a2O2&`T#G!;C|aSe!D;2WxZsv@_Zz-t2^wOiA>{+z zre1qbortmb4T&sBfmRSyd+2PL9Ng>*3v_G<{Qp=8klZ&gr2XWP+5WL~ONs z*4a1B;~;l6zP~4B{yfjWt4`xSoTZoB{ic-1QxH{CFI+QYO5jy%V`Xxm4y@i3Rolaw z@2m4po}|zr-k>7~t^&<2h|(LAhle&}}>tCW|`h#=$EB4-MWg_CrLP?VJI^?dgeII5;neTS6omU8Dr zU#IA7Lmw8W0@;a=`sqz)SH|rK>?}i~9-zz*EaV(ia_W_dy%ASyjhZ`JH=-k}l-z_} zIJXMc+5e%G=Zci&b^=G0u4QIA1tnzK^>ccF+!;^!=)4q>!|l~*fea^2rN`&W6}+JE z+vdu|J~T>=8#_xI_n@yrly~U(BA6L1=XEKo%as!X2t|%D7a5_6U=w!yMjcEX!uEr7 zrR2P>&kdeo#n@+Hw&fcs7>`2&Z8eUd@sz%;z0tH`bSIA@6fxSu55Fd7h>@L>q&)JK zl&7;U3^hAB>q6dI?wS5`UPC)@7_EP3)-*Z92P`7nId;MQU+L(>)DknkjYY-<0>1UgfhN zWo-z8@ya!x19>E>ZA_tn6b){^#ho?Qb9@>QIH!1}XF*8$q+qefS*7b>v6{84B=2*q zxRJAH>#--%cR?8hr>Avfbq|7bSTJ|g9E712&lCuT!|tq?@;Sw{Uy+6#oeI(v%;k}T zA1f~ekYoS#uU897C)EDgVUvyb4iRlT#=s>3KjqAoEpP zgQo1tVviHfpFmF9?)gqqwnxf}gP!lz6^NXF@NL-OP9G%;pAA0uFjUYf;v3A3pgEP) zB}I!Ct8-=AJ2A>j*8-0NC|U1}^CVw=xb1g(h7xT*XoXElniiB?J6tcxnG$t#S@k-L<5j{ciT{#^mGLIeYFWQlS?X~T&2;*;eeZh8 zozC_+QoByhz$`{Xm-c?zZ05gE%$V??+#1?a=GWn=FGk0{!Z2|YIjBy<%eXE&IIFv# zavI!I2@T{U+E*E!L(o=)R?o(3UQl*BoUILCe${NGe0ii?*sHy!-%4zkj@cY}nAncg zbE}@9htQUSDP#$)M2#!!6|r~9nhnf3G;JO^V`+NkW~04tt4*rux)B;i#vErs`s9bb z`Vn*z!P&y_ztZPT?@i(&y?hx|B+&uXvR=3NbWZI3;4zbu_?5ZgMMHy50m)GFJtA)o zf87YR%RMGioLm&2cz7;8Arp8?x)j%7jvKT3mI>fyNqbZ8@|Jhp7F04`e#;0dWXPl56#4|Ik_N4 z+^$>^SW03=S309b<@4soDA_Hs*x3{7M|SkQgg_C(8K|EI5?UFHJsaKA_H{vQUnn9C z(X{u&Zmezu?Z@biHiJ!TLGUjv7^NUWbU@{Qz`OM3gVtb9L{qk7Be_Z4&auOX3{@w6 zUaXb?dX#CP4n?EYkkrA{UX~m#lSBT<>ZOw&+Ts*!nS;^tu-|^GE<%l{=VfnYg*7`s zug1}7oVjDVMu{*lx{0eQb?8n%1Goo%lx(@3KRLu)mY}s3MU1&TphaQH$ky6!on8W^ z=ks(DN^hQ|K(CC@7FrI%K60%xt^Nhkw3H$V&eC3xqN$$Fis%sE_~f8?#C2P1vc{hD z8bHxwH8p3@HpJIhpP^`mqEOqq_|`e~&VAng1L6>8FUcEbBxpS7Mdg{953TYV5XfL| ztwd46l{J!iVR&kfcw%@xI12lTN0dqRCm3qqKeOIKfDMGvAN2m`V~0n3$DXJluo!Qn=?*>jJJD4orM|AVsl#dQD?SK zTO8t3Wm5eL8XxP|nGHolo2O&@;r26-7JYWk(V=|AY)((Vb2r#d-Ah9P%+y#MAi7-(mpOsZd@nG7@2ey&q1;GmkSr6DPr zVcOm+$fyYf_FXlp{mTnt8`o;tK|r6S^|A-E5{%#1xsEyD%mYY>)5^Yl;%TghDp_Oe zh&y}STXLjmQWPsXV--CVeZ3Fng4J+B20nK{hwb>D2Az}f-H8oq%%Se$8fD6*5&Cm( zbhsW0_&$Mkh-zGOfhG7Je=I_DHolky2TgEi2lEWg9<-Gr4<%k&LoY@sMCpJDzfQNK z4)G*8BR^E!XcxM(=f6JYwXffDCw%pHSr;aQxl1N5aHqZ6R5f{-Nqo{a5$}{2MO@NJ zA?2mZA-}4`C;f*tx>h8msMan+iJjM2B+R%^Bsd=t2}wOgoHH5`F$BCU;-^o61E%5o zCvd{oxVH$OKZ9JabK;zHMdG}M_h;YrCUHprOFiF5vBh=#fm=gd^CU4}vt zz!_aTN-pCZ^kExJ=c5q?bC7$o;IK-@0sh1#xln#SJ||*`-m6;s9Z3B9Enx6tFg(NG zDb7=3l5;rj->t2mez)?Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D5GqMTK~#8N?OX|T zRMi>2tWvdzT5+RV3VH-ek5)L;Qf;;DVaZGq1BeEJvIv4gKt&d<)KVefegti`S`@Xi z$|ewY0wDwvK#(Os$TpGy8nP#I`~7e38{WM6-@G>=IY#h5=Q}fb?=JuUz5o9AzxUmV zs7=X?7T4vvMDq=Q5)IX*8j;*6(Jm)SyaMdYaf`BCx5&izp6d3GPvmq_A4Vm>hzb}~ z1%u83o3mZwrL0JCpNtU=RMD^m^?!%OlfhBjBky zY<&)Hk-9%dG*;E?zChuRSwlj>Eh<6WzdbSHCe@4}qj4_*_qgE~5_xX%ylSRy%PE&= z0Rzi8BOKy1hUx${1lKY59RYRE7sQHRDz)maWVyve&VX=`;cDpps(bT-6Rw8reWw6v z^Oah4R}gEGIOUy!NcytdE%J*lzm&`IdEC{AE$0v=S#{aV&J7gTQY>N=cZ4i=J-Mp; zO&VD`R&={ro^sb`%R7Qw{7tD>_XG)Q1go?|Z0U7f09iUV^}L=f?*#Dp<2bxO!&fMAg&!PwD-0?IEn`exqE~ z?Z!OJn9DId6Y;qj*nqMt@PPk|&)L9eq(cu;Dx=J*8Tr;FZbst|XS>B5bh;iLW|rho#(ZjjFA2 zvSeXTdG4h)(le-uza5Hi98o%`|A2m-AsgtVXt0-Tm*@(DzJeDyUY4vkco+vHqwu!+ z()0M$m4$ELS5cWXv{I&zks9`nWJwCZ-ci1?fH!rNEcv**^o+Yj%h$O6bS!h|VP;_T zEK_t?%gG4jQc+?l3VY2B*kQ9pTA*WPRBM^_<^$fU-NUQ=L>aMbFi(_@v?qe=qzsXs z1raiFa67h70zD{BUpvt7RJ2$N3eDsyI|0QjPT@t}Zja)m1*<@&g`{{9yM8P!}~fr|x-7HdJFSGmeg zVGR81AH7SKtd0yYC;+>M1e2f>VfHkRU>c&vG76QOW8}{9_i8$9MVR39bOLZORncNC z2=cL9Wv4jdYJi;TCb?m78(E&{W)1Qq3Ep7{u_~yH1z`jlqWh+Fyr^|3 z2(y1jaJ-*r2GWYT2Am>iXtT4W8wXaIhYO2jc#@e2KMbC>XGHLQZAhBh(?Jg-b%Z?o z!kw&+4p4e>ptx4i5?T=WDFfyju}A-gg%z6~EAShXIt;U4oG&g>9O6ja^VeW9bdVQO zU?=jp`$UYnJ-W7MxOU&0I#TA3y^+^71i*oPz}E$?*Z~#7-WEnZZ}G=Hjt3cK29ZE{ zS1O32R3iB?zMPH&&+yj?N&QV^;ct^SR&IJ!<_!oh@WcL5iVkN2a0!+jv{u_Pq)ml)$0J@% zaY`5VGC|r7MaO-l5qbKx+@(?z@<3x*4Iqd-jD~j5Jp~&6YPLO`@MnL@ql1=JDM+|! zx0me0!!LFEt~5w;yNavOz&AQk)G)2f%$*W4-gxlB(9l7_mk87hvVQu0=;RcikaFKx zDGyG8cNO`r9sYY@+5JyTnenEN5aV?tC{7w;TU5-Eg(rV*pn9w%y`{L4oN=ZR`E&Sck;S@ z<9ucIkC!rQp_JtXQf7X5p{^O!k9k4>HVtpj+CZQYbIMh3HN7fS=7%Rzhe~>z-oo|weFT|>Vp!HEzTjU` z=)3maUJzp-+XyWcF-!&q?4Qw@wSmIQ(MbPHdKz~3Q8YLcdU1f^__}I93y_Puv|u|+ zdh%{oISn){wIz^gNRr27f94}2TsgNJ^)V!k?HOUYfPYwK&g&ASKaq6^_UX0~R9f{S z9jZ~3Sc^J&LkB+s8lmlHjd(tQK_J5@O{s26uLNVe{N*?SHXkWp!%+S1 zvtHUrp;@1^%?cQzp9H<%%!w9lapOE!Ar#KO)OI^diWMjwD9cyYS5v%|z6s-OvX3-s zml9VB0W?Dr(g=Yefwr|d8=L^#OjA?|kuqE~!iAk&K|5e^yVa1!*=-< zqhUa)gxYWSgUB-|?*|Pj8e$|R**;=)DLNMTH^nWk4JX(;T6zXw#oOQ%u$2P+)9lSK zaQ?jqHfn@WDq$o^2YDE01flSdkBt0{zWj_<0lJ(}i*ZU^DdYE+W2T%N+(r;E{3(vn zRu8Rf@es>b#jv`E19;dP8jh*lO{dUi%|}|C3Hc&+_fW$XK>u8qL1HBF+N8hZ}JUe(}@xZi>+M6wXp&c&ZSV!sYKdl#w%r~8a&N1kD zSjWP5`BOQDU;?fjq>r2Y~}j#UNOn=UVA*CCfLcH{1jo zE~eyB16|X%U#x~J!HR4%XwQw=&LPkVAWm0WM_TN-lJ_NfV#M8w8f&42COmBvDxEMl zq9eoAP4u2F(Zn@5zKBhdt5b_W+0R-|g zjsPNtD^DQexHsa!`T2kJj|c*#5p*c!SY#t@!ZOA#It!=Ft9hZbtVTs_P*MD8&$R)@ z7>Ae{lz1A;5@_|nl{LZ?C(GCNmwB=F$3zWyL77+ck{c}^Vmh=$UQGStRl9~Ca%4Q^ zR0hNSu$cV^_5*m+}skrc>jr<5bb4ph&u(5_tBo9)vHuv6iO)2A=HeP{!PBqqO7Q(GK9At~I(&Zx5C0xzR_zKp?Tt=D z{g;w_++PkO#(APeYgJ8n)5rc6SwH^{vzovHe}-z_QYbNXbP}gFg^o7jDGtqZizy&y z3Z~{KKvZwq4hp4QS=#9KsT;nmlpYxVRY<$9M6Jf(ZSdIQ8 zx4J3gXLp6c-azB4iTH#Os?|$a;^%aRp;asa;o`C&jKoLU2n@M+;6;3&gCRB__yqV8 zWNZRb@%<=1b8-KBhU5ui_`F7{#YA4y z%OL1an(Mw`^u=QKIMwPUEE8t6g|`&)1cU(^qL)SDO7i4uH^As#0HqETvvT}ISRp>4 z0v@#o<=?<(EXeYm*Sai)lG%x`-T`7VEr=Q*rq6ArO8+F9#LvAih%6oP34>IrpTsW{ rW?hBhmc$VDjd(iYR#oZ;79su*;84d(isYx(00000NkvXXu0mjf+A;#g literal 0 HcmV?d00001 diff --git a/src/public/icons/favicon-16x16.png b/src/public/icons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..0ad1bdb1ffef886a994734c2ee403a7266c9b6e8 GIT binary patch literal 728 zcmV;}0w?{6P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0&Ph|K~y+Tl~Y|v zQ(+i>O_IdA@T!X`6h_gF7YT|NDnS-SI``vGvnBn^GAoKEK?DU+7juGH*q;{#byPo>kj8H+`_=6(bXY7Vj;eR{v|oTFh8_`t(Cd(Zp4@AEw$qm_tT$Pu+rPsBuL zV+ScKW~IWYnfhZE`V_KJw$}D<;4-aY@iaF>&|8r;_1Ty)um5Jcwbs88s-nC}^IChr zxDHWEniM=YZN{7G9Qi(JN{46vdNI5?Vx{^iBjrlrw3W87MZezkWLGXeUdTu4m2DC4 z?ZDsxD6j1pyI6qk-3HwWFQExJAX-J+^`c;;qeQ`=4fxOij5PzpM*(jW&|iaZ_sjkq z&?5&3u!E=m%1i_rb5j^T#)6Y9J_UrjRQk>V9tSXb0^_H*!c(yUQx^zF+=%uJpcD;bEbxKvANm~GvWl-s?$ zJ^UD0m}mY3zCL6}XXN0-t)iu4h#|s$L@#&_buBN}%Hbu;I$5)v-D{f%oMrjIO4o@6KYh zu1Cx~xhDOW(o>rhsmtJo4$B)*dg~CkW$4x)XtHI*t#nC0%3OPX0t2;bm?9GnFWFh3 ziiLGEJ=0{%;15O28Fu3Per?-bWu!@2;4lT1(dNau&cY5p>TUk7bn&usP4*wOxL-1Z z)Y2B`XGp8A0#0`?GsuiHqgr(paJq_l^ILMZ4bl15QmwiIM85&*2*X&{^HMYb0000< KMNUMnLSTXuTS!m< literal 0 HcmV?d00001 diff --git a/src/public/icons/favicon-32x32.png b/src/public/icons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..615a9b7541ea15adfa55d387e43e946b202b926e GIT binary patch literal 1620 zcmV-a2CMmrP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1?fpdK~z{rwO4yg zm1P)zQ7KYsT88AM)@3#~>z`(&UDXg$xtt4lBT!P*MCTf(l{wpTt7V7UY%yKwA9gdR zm@dU8Qpf<6%K;@I(d2s00W=UntaHBe^n1VWeZTME`7+b-Y`>k4_wxLn`}e_aMLO&( z&0}M^?RK`JBbh~uWnGA|Ft>%--BwnDbJy|vme{&;@!Hu8w~Ym$m;`*lzE&H1ito2t z*d!1Z1nqMuUK^XED!5YtdEO1mRe;oAn=mrB%^KEWw(qgB26~x|5Nd8uD4j)sXuyo% zd{Q|57&D2E$2~wWGGt#MMX0(xL3p1tQL5r-?0DM$>SPsX;zyaD0rG^ZTNif{o7!e$ z8Sv_(x`c@Q;(7N`ReU71ScmC~+ihW#Z-1PMR!*Z6nNL!A>SXfRjXhWVXevZx4#!0Q zg$UMSy$<@yfNxP#tGW_cq@dG;hZ;F^;BccP;iyZvNB8nz%tUHfGB$Aai)R&IQCfgb zEhQ>V(Qqo2l+q09|MEpDTk^1e=KxX^tWN@l92L}>wAo$s(#=LsYg%GvIWZzNQo>Q~ig}Q{LQ%s30yXM5hY0tDx2do^LWe2%MNdj#{?Q zHoWDeHE#wPv6!f0x%Rhfm442eHocZr(6($-{JTr2f+o{duo^MaZ!!=>(SOw-YV){x5!*<`mhtfz88BpsO>t>(UE z`y8T^OW<+3k$Va6PekthL|wnYfL&OFF%2IW>8V+Zh^5lyz4KLFc|g%?_tS;M;addd zU};WZ6V4@u*YV1gReb%J)d(pnT~+EiK-5!3)Ll+Q0RYldNp!7=sPSXNK%OpsuOx*I zEqFxL$BVMv8ull~bfTcu#2e4XqcYVNtWS(kTaH(;s^BDwtjY+fini}G;$UgoVeIo7 zk%j{Wi>FY@ys?~Ira{5nSf`TH`)n8%eia)kS}}Amgsv&BRRe>F>)s){TuOAk6O4*R z%tiT|sIL*}D8!lf)B@B1!_gVu<&nB>2~qSZ{AIKH#!U%d@iI4^LD;!69#WoXX^8Kt z27e#WPgK9zFf<5()0vo(y5~2dof~k$WJB!&_h&P&=);D$pH%EUM07EisC_S<4PWVpASR8B;|e|!;@CLxNLDfzL{=z=i{(ru+=He67e z%egpqH!M`z&|Dg7g^S|1d|0*gGq3X4CY5jN^Y6BKFP0;+ioVT#3 zkc&X?w&|_vi$@ai!6dvLv<~#|d@1C&J!M z=Wyd=M9|z^kOEK0Wh=WHC`q}dlJM!s>p>d85tN>e^pS(^N}$*m3yPZyie-ahcHV9tvS7-J5 zs@IVj{54rVs>xcm7nSa{vPU~?Y$oo{!guD=Jhejo9ZI&dkvVe63}Fsur#Ll)lAW`G zWqZ5+y`%e16n}d4Pu`jg=}Z7I5mWlopS)F(&2Er zK->WM@qAjG8bWb6li=+(phEZDk#io#?8IK^$L5g9+s;@J2ZRC1V)cItWB&jM2-%a9 Sr$6NY0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D6;eq=K~#8N?VSmH zRMox54+XJ+;)WLYQnl?<+t;UkueLr#R3JbSGLr>Dp}4b%Rv@6bG|#0)B%!4n@2PdI zNW}uO39jlirCXHZ-)2x+;Sy;o$iI%2yF_mk{tK`dY^Y2X?^dRXC#urL zk7Q5LK?RG8m8FQwaKHb-Jv=~~!Tnn*QpHFW{M@&4w@5*u8(A?@g%8)t5M~DczDH(@ zZ>VUtZF{=tSd}WWkj@d~J;KoBafxIV_1v|CNumb?KEVjUg0TBBTuiETi7QkRmJIRk zE>9IZxirIpILE3|#0@HmbJI}Bd0gS6fp{mu?+>Mkt5s60;d&=j*fhjxHm6|)^uTrU zF>#(s?%cAkT;dLh)4~f2epix{wVF9*!Xrq-W%<%!vEhH3Q@=v&It>nw0@lp11@6Y zI{|ZnTNUN(Gnp>hW7w!I$IyX-um!ZrL5%I3*c_ks?arnVjf&KE@_?&@EKcq$Hzi&q z*Y>|uu1M&%4tb|dy%#-h@hUz~!O-+;G_2>*JD#Xa6N53#-i4L^H7IXKRrJ;~x@kp< z_%~!IwVXE2;J)GW9Iy%*-msweRo;1+92fMtN`BV&3i(C4~kgm4^$Fr3&N zb1_NNe8Ht-h8hNWPb4FSU|5%fJ(1_{f>HAAg)*^uwa%~?N|yQbbP%iioQ56>DPkIqS! z$L1x=n%Rlc^In47|A$_(DEkgsHTD|m85}w7oe+L8dJC679rCQWxE9$*y<|(Q8+&UEqM>M$c;m#%*(Jw z{s`&IA0->-yX5hyKa$lCT^N+Ml?k1om9{aSLsrvHt&-EaQ6#kXM<99;lc*);_YUpW z9Lp1~kcZT;RQ2dZ%_m>KtEpwf!!5FCj0~{tQC@5gRDdzAFMqUbn3E)HC-smeDV;QL ziOYu>451-qaso8$uVl4mm{bNJ(q1kxJ1p)Kxr-ag8-9bV`{4ctZ~kbXQM@3m_JV?u ze0*?Xfm?1E`(rt$_jPPOj4bW@Ew)^C!8~dGv1hqU{2bzYxrFSpGU0NzU`7_Dd`Fi4 zxtH{P0pT`eN?ACX6;6Y$tsl&bZX{e9)H76=n%PNmdu&0ie%mok*R(G8R5dL{u!>`v*(7K{p9I-{4A)ang_1laToUO=5ll|a3Si$iQ0 z#>P2{`C&=McZ2e{7%nL595|pXMf_CB8{JR=bGSsDLjHeH!Q3~;*dSIj@V$4^`GGu zS5DdQI!~@lz0P-P(LlD~VTsh5bxnXwVz91n;u&odICtDg8v=$t0QbmOss8Z)(xxROCg-)Q*4nqHu;tkU*VYWiz^*!xisd} z!!T5}z7{DLiduRHixigrMO{C8>QwPNCC~HM33CNd4~sNs0PluJWYw@v+U6qd zSAAuDEBy!^N>Fk-GmlF=#U#w)&tQ9Pi@6m4dLF%ahp%9C16L?V?0Q8?34!Ylpc2N1 zUZ=_-+nW=5O(!q}VZI@UfD2;=!{MRaJ2h9D4g}EihJ}5ul56^1rmYnsEY@CDGCDUp z=8bN&jY(V+d{@f(+8LcCeY=O8R@gJGr@wn|!o)}gr*S=+UmuNA`}`sw+lIdl<9*2s zsGBDLHR=h*I7YNdANh$eBHpq_!=UxU_feeo5^ zXkCCxXfg^EJjzUuL5LFyC`f?=X2~nOB0V8Wi z{xB%>VbLlBEdI%6U6!Z26os@;~#fZGrOkV#TFtwXl>LhcE2j6XOVxx z^(>I`!2d$PiD$&wISE>~_{An`K7s!z@yWEINrm0@64F_Lp{X7h5az&)GuOfq;h|6S z=NWQNpUBS;=n3CGtoqSdPlG38dCMnYbRHkwY8Lf?4TdwBkvRNeKeiAoG%g1gKu=0} z@C_;J%l(3q(b#@+r<7$g(c0g|7Y4!2)^ybGiq@4P7$$7psy+=CnuCVKh}+y5a`~{E z+42(fl#PaF(n$xp&5h}ZV+CAMBof%3rtxi6ziw;>j5I7yWeX65HW`MQ2a10Q!DmU? za#|_q)KFQTg-A2X&_hEYZDVu!G_Y~p?QD5T{QRT~g2Xql8{DEKwQg1EqIfrTimatjc!K=ii^X!p9CGYqH~z$%n%Ebzr$wUKh8f8b>S02@l&XTFO{k` zY~OGB^vuu@$mTbc9k1LORMyYnkXSwn=@xaUh*TwUcq88*0hh9g7@*;3ThfJE3ovGC zeqs+(#vwcv(u(iRu?G|L3Csa@t-eCauinQbK7mh{upvG{6+r798Uc1_i!ffB2s9v0 zyIzsHr=HmHQE z%7NnBN_M}I$Ai{i%|);U((o3J*=){yREoz+dAt}c7H%iGp(pUUc0F3|=TaWs1fT!7 zQqh9ZdVu`?1Amfo{~!JPL$pap-W7Lmi`0yb(?c5Iaf=o7@Jq?BZ8?0v1$08o+6NYL z1qgv!8hJ#UF*(z)K#M0@3vgj8{;t%uU{rBj8ZlBeG=8r^5uQ|$sfl0h7I&lN#`Ge! zk<)M8vw$mr28m8{gXa3F@t3?KF02l1IcTe1i$<$un!LHR9MZgc7+cm@z;OSC$i{LR zAJ%XIoN{FBmGgt2f?+(Rmd^RxG!asz7z!JLzS&0Be9Avh)R(C*VBSW*$5Z!}`U2Jf zFDTrz0|(T-(~B)@EI{{0I)-vLcQGc?+U@ifj^3qBWVG3)J@YjQuS3sinF0scGv&;- z!l^wN%b)dsU-^muJF;W>{_nP99yzk=On90{9F6-lInyM3W+JYg^liSZF@VW<8NEpN z9(OSo%G~X|)o=AKj3~TLq+=w6{-A{>RuWkMo+ek_D(42r**D$4A4I0j2NAX+^m&Me zLF%EjB@u8>$ra6%jjJ-{_SCN0E&x|vC!pb1R;Gy_^z4`YF(aq!N$IG)CbWF$_x%TM zIni~ff()&Ug%(uD3qo5mZ8OvUKUwKtg0B(e(vr_#z0AMCM-@$w*!qbK3;RFB?%bZ* zB9q>j`Eua-Y`JaW7Kf`{;x=spMom<(fgDhn)J1z_r>}}V@AY8|6d>C0Lmtu5&3+e^ zyMCg?Ujh67z+X4QJ&?D6cWp+{xlt+~y3SAZ|K36l04MPF(x6P?e}_VXOxa|bD1QTq~8P|nt493 z`9WSF9o=P(c6x!v`eK{zCRHx&@0jysqWHz1v1QVshR11QVrO}}_-`e1Wb>hhJZWM) zB3V8U#Qk`NnWF5U1Q#xv?@z9)9+oPC3uA=Dr1`||RyUov3o|6qI|FkQ_!l>HBJ~0^ z=93ujUvP9bNc*`*w|EH&MXU%q6BF(C8;H4mu9HV*86HzcYSlDEn0F|{Jvr0S&wSF5 zMU$Ltfm_Td8z`<-ayqxFba4T_--Lwe_t-*q zN$Fe=moW}{H=ubHhN5Vm54Tz-myrvrWA<>UBIqH1v=z1ya#7X$1H~@|KX{46)Y&Cx&fC4UMh(Mg@Fb&RrE^%u^vOTYO8vR4u{gj4^SCd zg-M;OS0;30U-Q=?;pshKHDT2@E*%tpr&OIpV~NxYXc*z*7}<>YQF?@T{X??qLI1;b zTJ_SRk{-6xX%Kp|pV%~@t1L?HtUZcU#}b=Mhlop*JgsZ!4S`iOJt^9YOwpT#+mS(f zWJjWhJVDCru+5u4YDb6w`4L*b23m8ZUO>YR8_xiRq5E+0F>lm9+aoxy7Wt?A^6mk8 zaL;7M3N;h1`Pf%9ranjjIz!5dW`xFdV;m!Pp6@bF!0ET{Ve@JQj0TgHEUjm_@h#?z zSOq<&seVqrA!|~kP z{Jp@=@DXYI+QRBK2zXtM^HXAa4N1c->UJlHu1cELvAFyqVp_W$Ug`xF_hvLAy)_xm z9SsLu)Y@mR=ksO*^Z;MTDTlAyaO0ntGvb80SqbxO?NCPZ>7%@iZKP#ciu9z%cFsqK z{s$CFn%1$e+~OuKBX+5och{x(Y6_E^n&`ge#Yj>3ATO@A|9rWt;hUEJ-m;_ zmMb9IHinMAHxz{vIk&QTasvI7o06vW3>6TMr)leac^S=|Kta$vVR>%{y@cCSGI9Ln z?{fKZhD+S4WNAIa?Ee{?85>{%+vUp}RLKbxfW)_ZxR-{iD3x&Z+1MvwMU!W+_?D8T z^$b1WH%w-1QSKHey?GgVoIo1nTH4vw3<8xvt7k49L|LK?3sDgHTDl_Bm#CY-!eKresidEDZc^eg4QqR}H*vAza;g^%y` z9U2?>F;%*MS*o}XL&-=m8N3ZX0V|P5`u%8P16C3VvoPWp)P$vy>Aop3pY9uVBo*>bB>GX+LkAD*BYU#1yoSnGl

    ZNYi zW~^ns<`P-CC&YwY8Bfl8I!AV%l=G~*OPhtYtemZ!fN>!!r(R@dx4yrAR#{f=Ojf*j zkd;%U?$Tyq?TP7KA=ESAPvAXN$Xu`-pEp9p5-}mC3>?MhQ~0hC*StX@ha)Rzx|sNC z{Lk#1lQu5r`(nbhyTX&(6Jh#_tZ4&L8JS{Y?!(|IF)`-_2%RIw=e&;ZYfP2Uzis%j zVp%!kEVpWV_>lIS>Mm^-)@YpO1&jkZEp5FZnoY=^5-MDr$jaHQ?$Tyq?W2#{V+cwB zBOq87co9s)-*2D=e+U-h@74Hw8$Ry=9{hcp72F6->Q7AzeLJPiOqQM9QH-COA;#y9 zu|*ap;Vf+uehtik=m&!<0M{S;zjO0{SsquLko)@};o?fp-_%{&EUb;sDdfeA2W^vZ zbek}3B!p_>1&j%}p}DivUD_<7J^ku+sDxxJv|fgAOE9K;OkzeSE4LZ{?!doqU``nh zZWig7;M>fB(d0Qc_eNAoCipZ&>@!q>sR)xIvR>=nHr&M9#!u}6aU=8w8oH+3q(Zk@ z+-=hI%Q2)h^5QG9rroJRx7pWXeqX;nRCsO7e+R=(2Nm)xFd_Z{2POk2O1=He00000 LNkvXXu0mjflqbHQ literal 0 HcmV?d00001 diff --git a/src/public/manifest.json b/src/public/manifest.json new file mode 100644 index 00000000..52acfa13 --- /dev/null +++ b/src/public/manifest.json @@ -0,0 +1,80 @@ +{ + "short_name": "Activity Player", + "name": "Activity Player", + "lang": "en", + "description": "Concord Consortium Activity Player", + "start_url": "/index.html?offline=true", + "background_color": "#ea6d2f", + "theme_color": "#2da343", + "dir": "ltr", + "display": "standalone", + "orientation": "any", + "icons": [ + { + "src": "/icons/android-icon-192x192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "/icons/apple-icon-180x180.png", + "type": "image/png", + "sizes": "180x180" + }, + { + "src": "/icons/apple-icon-152x152.png", + "type": "image/png", + "sizes": "152x152" + }, + { + "src": "/icons/apple-icon-144x144.png", + "type": "image/png", + "sizes": "144x144" + }, + { + "src": "/icons/apple-icon-120x120.png", + "type": "image/png", + "sizes": "120x120" + }, + { + "src": "/icons/apple-icon-114x114.png", + "type": "image/png", + "sizes": "114x114" + }, + { + "src": "/icons/favicon-96x96.png", + "type": "image/png", + "sizes": "96x96" + }, + { + "src": "/icons/apple-icon-76x76.png", + "type": "image/png", + "sizes": "76x76" + }, + { + "src": "/icons/apple-icon-72x72.png", + "type": "image/png", + "sizes": "72x72" + }, + { + "src": "/icons/apple-icon-60x60.png", + "type": "image/png", + "sizes": "60x60" + }, + { + "src": "/icons/apple-icon-57x57.png", + "type": "image/png", + "sizes": "57x57" + }, + { + "src": "/icons/favicon-32x32.png", + "type": "image/png", + "sizes": "32x32" + }, + { + "src": "/icons/favicon-16x16.png", + "type": "image/png", + "sizes": "16x16" + } + ], + "prefer_related_applications": false +} \ No newline at end of file From 9c71c9fe84e11f1059c862a6603a306119a0da02 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Thu, 18 Feb 2021 10:19:45 -0500 Subject: [PATCH 014/242] Various fixes for offline authoring and usage - Change cache loader to use no-cors mode since we don't need the actual response - Enable offline mode when in authoring so the service worker starts - Change to only load launch list saved in localstorage when in offline mode - Skip the current offline mode rendering when in authoring mode --- src/components/app.tsx | 27 ++++++++++++++++----------- src/launch-list-api.ts | 2 +- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 94570783..642d08da 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -90,6 +90,12 @@ export class App extends React.PureComponent { public constructor(props: IProps) { super(props); + + // set the launch list authoring localstorage item if it exists in the params and then read from localstorage + // this is done in the constructor as the state value is needed in the UNSAFE_componentWillMount method + setLaunchListAuthoringId(queryValue("setLaunchListAuthoringId")); + const launchListAuthoringId = getLaunchListAuthoringId(); + this.state = { currentPage: 0, teacherEditionMode: false, @@ -103,10 +109,11 @@ export class App extends React.PureComponent { errorType: null, idle: false, loadingLaunchList: false, - offlineMode: queryValue("offline") === "true", + offlineMode: (queryValue("offline") === "true") || !!launchListAuthoringId, launchListAuthoringActivities: [], launchListAuthoringCacheList: [], - showLaunchListInstallConfimation: queryValue("confirmLaunchListInstall") === "true" + showLaunchListInstallConfimation: queryValue("confirmLaunchListInstall") === "true", + launchListAuthoringId }; } @@ -122,10 +129,10 @@ export class App extends React.PureComponent { } async UNSAFE_componentWillMount() { - // only enable the service worker in offline mode - const skipServiceWorker = !this.state.offlineMode; + // only enable the service worker in offline mode (or in authoring mode which automatically turns on offline mode) + const enableServiceWorker = this.state.offlineMode; - if (!skipServiceWorker && ("serviceWorker" in navigator)) { + if (enableServiceWorker && ("serviceWorker" in navigator)) { const wb = new Workbox("service-worker.js"); let registration: ServiceWorkerRegistration | undefined; @@ -196,16 +203,14 @@ export class App extends React.PureComponent { async componentDidMount() { try { - // set the launch list authoring localstorage item if it exists in the params and then read from localstorage - setLaunchListAuthoringId(queryValue("setLaunchListAuthoringId")); - const launchListAuthoringId = getLaunchListAuthoringId(); + const launchListAuthoringId = this.state.launchListAuthoringId; let launchListAuthoringData: LaunchListAuthoringData | undefined; if (launchListAuthoringId) { launchListAuthoringData = getLaunchListAuthoringData(launchListAuthoringId); } let launchList: LaunchList | undefined = undefined; - const launchListId = queryValue("launchList") || getLaunchListId(); + const launchListId = queryValue("launchList") || (this.state.offlineMode ? getLaunchListId() : undefined); const loadingLaunchList = !!launchListId; if (launchListId) { launchList = await getLaunchList(launchListId); @@ -351,7 +356,7 @@ export class App extends React.PureComponent { } private renderContent = () => { - const {launchList, loadingLaunchList, activity, showSequenceIntro, sequence, username, offlineMode, showLaunchListInstallConfimation} = this.state; + const {launchList, loadingLaunchList, activity, showSequenceIntro, sequence, username, offlineMode, showLaunchListInstallConfimation, launchListAuthoringId} = this.state; if (launchList) { if (loadingLaunchList) { return ; @@ -366,7 +371,7 @@ export class App extends React.PureComponent { }; return ; } - } else if (offlineMode) { + } else if (offlineMode && !launchListAuthoringId) { if (loadingLaunchList) { return

    Loading launch list...
    ; } diff --git a/src/launch-list-api.ts b/src/launch-list-api.ts index 98e48799..cab19d4f 100644 --- a/src/launch-list-api.ts +++ b/src/launch-list-api.ts @@ -44,7 +44,7 @@ export const cacheLaunchList = (options: cacheLaunchListOptions) => { const {launchList, onCachingStarted, onUrlCached, onUrlCacheFailed, onAllUrlsCached, onAllUrlsCacheFailed} = options; const urls = launchList.activities.map(a => a.url).concat(launchList.cacheList); const loadingPromises = urls.map(url => { - return fetch(url) + return fetch(url, {mode: "no-cors"}) .then(() => onUrlCached(url)) .catch(err => onUrlCacheFailed(url, err)); }); From 4a924655d00ae9d9775208fe9352388fcb8feb74 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 18 Feb 2021 17:19:42 -0500 Subject: [PATCH 015/242] gitignore secret cert directory [#176982423] --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 268b17fb..5203c41d 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ LocalhostCertificates # Editors .idea .vscode +.localhost-ssl From 4b734bfa0ef84fadec3d5f847e32cccb0785b413 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 18 Feb 2021 17:25:13 -0500 Subject: [PATCH 016/242] Start saving answers to indexedDB using Dexie * Add [Dexie](https://dexie.org) indexedDB library to project * Remove explicit calls to `firebase-db` throught * Created `storage-facade.ts` to call through to FireStore [#176982423] -- start to save things to indexedDB --- package-lock.json | 5 ++ package.json | 1 + .../completion-page-content.tsx | 4 +- .../managed-interactive/iframe-runtime.tsx | 4 +- .../managed-interactive.tsx | 6 +- src/components/app.tsx | 14 ++-- src/dexie-storage.ts | 19 +++++ src/lara-plugin/plugins/plugin-context.ts | 6 +- src/storage-facade.ts | 70 +++++++++++++++++++ src/utilities/plugin-utils.ts | 8 +-- src/utilities/report-utils.ts | 4 +- 11 files changed, 118 insertions(+), 23 deletions(-) create mode 100644 src/dexie-storage.ts create mode 100644 src/storage-facade.ts diff --git a/package-lock.json b/package-lock.json index 52628d95..11708d6e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11191,6 +11191,11 @@ "minimist": "^1.1.1" } }, + "dexie": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dexie/-/dexie-3.0.3.tgz", + "integrity": "sha512-BSFhGpngnCl1DOr+8YNwBDobRMH0ziJs2vts69VilwetHYOtEDcLqo7d/XiIphM0tJZ2rPPyAGd31lgH2Ln3nw==" + }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", diff --git a/package.json b/package.json index a4d7f793..7132dbab 100644 --- a/package.json +++ b/package.json @@ -149,6 +149,7 @@ "@concord-consortium/lara-interactive-api": "^1.0.1", "@concord-consortium/text-decorator": "^1.0.2", "@react-hook/resize-observer": "^1.1.0", + "dexie": "^3.0.3", "dompurify": "^2.0.15", "firebase": "^7.20.0", "html-react-parser": "^0.14.0", diff --git a/src/components/activity-completion/completion-page-content.tsx b/src/components/activity-completion/completion-page-content.tsx index ffb3a264..8e7ea4bc 100644 --- a/src/components/activity-completion/completion-page-content.tsx +++ b/src/components/activity-completion/completion-page-content.tsx @@ -3,7 +3,7 @@ import IconCheck from "../../assets/svg-icons/icon-check.svg"; import { showReport } from "../../utilities/report-utils"; import { Sequence, Activity, EmbeddableWrapper, Page } from "../../types"; import { renderHTML } from "../../utilities/render-html"; -import { watchAllAnswers } from "../../firebase-db"; +import { Storage } from "../../storage-facade"; import { isQuestion } from "../../utilities/activity-utils"; import { refIdToAnswersQuestionId } from "../../utilities/embeddable-utils"; import ccPlaceholderLogo from "../../assets/cc-placeholder.png"; @@ -70,7 +70,7 @@ export const CompletionPageContent: React.FC = (props) => { }; useEffect(() => { - watchAllAnswers(answerMetas => { + Storage.watchAllAnswers(answerMetas => { setAnswers(answerMetas); }); }, []); diff --git a/src/components/activity-page/managed-interactive/iframe-runtime.tsx b/src/components/activity-page/managed-interactive/iframe-runtime.tsx index 2a7a38d3..ceb70b80 100644 --- a/src/components/activity-page/managed-interactive/iframe-runtime.tsx +++ b/src/components/activity-page/managed-interactive/iframe-runtime.tsx @@ -11,7 +11,7 @@ import { } from "@concord-consortium/lara-interactive-api"; import Shutterbug from "shutterbug"; import { Logger } from "../../../lib/logger"; -import { watchAnswer } from "../../../firebase-db"; +import { Storage } from "../../../storage-facade"; import { IEventListener, pluginInfo } from "../../../lara-plugin/plugin-api/decorate-content"; import { autorun } from "mobx"; @@ -159,7 +159,7 @@ export const IframeRuntime: React.ForwardRefExoticComponent = forwardRef const unsubscribeLinkedInteractiveStateListener = new Map(); addListener("addLinkedInteractiveStateListener", (request: IAddLinkedInteractiveStateListenerRequest) => { const { interactiveItemId, listenerId } = request; - const unsubscribe = watchAnswer(interactiveItemId, (wrappedAnswer) => { + const unsubscribe = Storage.watchAnswer(interactiveItemId, (wrappedAnswer) => { const interactiveState = wrappedAnswer?.interactiveState; const response: ILinkedInteractiveStateResponse = { listenerId, diff --git a/src/components/activity-page/managed-interactive/managed-interactive.tsx b/src/components/activity-page/managed-interactive/managed-interactive.tsx index 6f841a72..3075ca70 100644 --- a/src/components/activity-page/managed-interactive/managed-interactive.tsx +++ b/src/components/activity-page/managed-interactive/managed-interactive.tsx @@ -8,7 +8,7 @@ import { } from "@concord-consortium/lara-interactive-api"; import { PortalDataContext } from "../../portal-data-context"; import { IManagedInteractive, IMwInteractive, LibraryInteractiveData, IExportableAnswerMetadata } from "../../../types"; -import { createOrUpdateAnswer, watchAnswer } from "../../../firebase-db"; +import { Storage } from "../../../storage-facade"; import { handleGetFirebaseJWT } from "../../../portal-utils"; import { getAnswerWithMetadata, isQuestion } from "../../../utilities/embeddable-utils"; import IconQuestion from "../../../assets/svg-icons/icon-question.svg"; @@ -51,7 +51,7 @@ export const ManagedInteractive: React.ForwardRefExoticComponent = forwa const embeddableRefId = props.embeddable.ref_id; useEffect(() => { if (shouldWatchAnswer) { - return watchAnswer(embeddableRefId, (wrappedAnswer) => { + return Storage.watchAnswer(embeddableRefId, (wrappedAnswer) => { answerMeta.current = wrappedAnswer?.meta; interactiveState.current = wrappedAnswer?.interactiveState; setLoading(false); @@ -65,7 +65,7 @@ export const ManagedInteractive: React.ForwardRefExoticComponent = forwa const exportableAnswer = getAnswerWithMetadata(state, props.embeddable as IManagedInteractive, answerMeta.current); if (exportableAnswer) { - createOrUpdateAnswer(exportableAnswer); + Storage.createOrUpdateAnswer(exportableAnswer); } // Custom callback set internally. Used by the modal dialog to close itself after the most recent // interactive state is received. diff --git a/src/components/app.tsx b/src/components/app.tsx index 642d08da..f72c98f3 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -14,7 +14,7 @@ import { WarningBanner } from "./warning-banner"; import { CompletionPageContent } from "./activity-completion/completion-page-content"; import { queryValue, queryValueBoolean } from "../utilities/url-query"; import { fetchPortalData, IPortalData, firebaseAppName } from "../portal-api"; -import { signInWithToken, initializeDB, setPortalData, initializeAnonymousDB, onFirestoreSaveTimeout, onFirestoreSaveAfterTimeout } from "../firebase-db"; +import { Storage } from "../storage-facade"; import { Activity, IEmbeddablePlugin, LaunchList, LaunchListActivity, Sequence } from "../types"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; @@ -280,18 +280,18 @@ export class App extends React.PureComponent { if (portalData.runRemoteEndpoint) { runRemoteEndpoint = portalData.runRemoteEndpoint; } - await initializeDB({ name: portalData.database.appName, preview: false }); - await signInWithToken(portalData.database.rawFirebaseJWT); + await Storage.initializeDB({ name: portalData.database.appName, preview: false }); + await Storage.signInWithToken(portalData.database.rawFirebaseJWT); this.setState({ portalData }); - setPortalData(portalData); + Storage.setPortalData(portalData); } catch (err) { this.setError("auth", err); } // TDB: add else case to handle offline authentication when this.state.offlineMode is true } else { try { - await initializeAnonymousDB(preview); + await Storage.initializeAnonymousDB(preview); } catch (err) { this.setError("auth", err); } @@ -300,9 +300,9 @@ export class App extends React.PureComponent { if (!preview) { // Notify user about network issues. Note that in preview mode Firestore network is disabled, so it doesn't // make sense to track requests. - onFirestoreSaveTimeout(() => this.state.errorType === null && this.setError("network")); + Storage.onFirestoreSaveTimeout(() => this.state.errorType === null && this.setError("network")); // Notify user when network issues are resolved. - onFirestoreSaveAfterTimeout(() => this.state.errorType === "network" && this.setError(null)); + Storage.onFirestoreSaveAfterTimeout(() => this.state.errorType === "network" && this.setError(null)); } this.setState(newState as IState); diff --git a/src/dexie-storage.ts b/src/dexie-storage.ts new file mode 100644 index 00000000..52438472 --- /dev/null +++ b/src/dexie-storage.ts @@ -0,0 +1,19 @@ +import Dexie from "dexie"; +import { IExportableAnswerMetadata } from "./types"; + +// Copy and pasted from the example: https://dexie.org/docs/Typescript +export class DexieStorage extends Dexie { + // Declare implicit table properties. + // (just to inform Typescript. Instantiated by Dexie in stores() method) + answers: Dexie.Table; // number = type of the primkey + //...other tables goes here... + + constructor () { + super("ActivityPlayer"); + this.version(2).stores({ + answers: "id, question_id, question_type", + //...other tables goes here... + }); + } +} + diff --git a/src/lara-plugin/plugins/plugin-context.ts b/src/lara-plugin/plugins/plugin-context.ts index c8cecc03..cf8f0d14 100644 --- a/src/lara-plugin/plugins/plugin-context.ts +++ b/src/lara-plugin/plugins/plugin-context.ts @@ -7,7 +7,7 @@ import $ from "jquery"; // LARA_CODE import * as $ from "jquery"; // ACTIVITY_PLAYER_CODE: import { Logger } from "../../lib/logger"; -import { getPortalData, setLearnerPluginState } from "../../firebase-db"; +import { Storage } from "../../storage-facade"; import { getFirebaseJWT } from "../../portal-api"; export type IPluginContextOptions = IPluginRuntimeContextOptions | IPluginAuthoringContextOptions; @@ -138,7 +138,7 @@ export const saveAuthoredPluginState = (authoringSaveStateUrl: string, authorDat const getFirebaseJwtFromPortal = (appName: string): Promise => { return new Promise((resolve, reject) => { - const portalData = getPortalData(); + const portalData = Storage.getPortalData(); if (portalData && (portalData.type === "authenticated") && portalData.basePortalUrl && portalData.rawPortalJWT) { return getFirebaseJWT(portalData.basePortalUrl, portalData.rawPortalJWT, {firebase_app: appName}) .then(([token, firebaseJWT]) => { @@ -205,7 +205,7 @@ export const generateRuntimePluginContext = (options: IPluginRuntimeContextOptio remoteEndpoint: options.remoteEndpoint, userEmail: options.userEmail, resourceUrl: options.resourceUrl, - saveLearnerPluginState: (state: string) => setLearnerPluginState(options.pluginId, state), + saveLearnerPluginState: (state: string) => Storage.setLearnerPluginState(options.pluginId, state), getClassInfo: () => getClassInfo(options.classInfoUrl), getFirebaseJwt: (appName: string) => getFirebaseJwtFromPortal(appName), wrappedEmbeddable: options.wrappedEmbeddable ? generateEmbeddableRuntimeContext(options.wrappedEmbeddable) : null, diff --git a/src/storage-facade.ts b/src/storage-facade.ts new file mode 100644 index 00000000..cccd9785 --- /dev/null +++ b/src/storage-facade.ts @@ -0,0 +1,70 @@ +// import { WrappedDBAnswer, FirebaseAppName } from "./firebase-db"; +import * as FirebaseImp from "./firebase-db"; +import { IAnonymousPortalData, IPortalData } from "./portal-api"; +import { IExportableAnswerMetadata } from "./types"; +import {DexieStorage} from "./dexie-storage"; + + +export interface IStorageInitializer { name: FirebaseImp.FirebaseAppName, preview: boolean } + +export interface StorageInterface { + // These seem to be FireStore specific: + onFirestoreSaveTimeout: (handler: () => void) => void, + onFirestoreSaveAfterTimeout: (handler: () => void) => void, + initializeDB: ({name, preview}: IStorageInitializer) => Promise, + initializeAnonymousDB: (preview: boolean) => Promise + signInWithToken: (rawFirestoreJWT: string) => Promise, + + // These seem like authentication and identity concerns, and should be extracted: + setPortalData: (_portalData: IPortalData | null) => void, + getPortalData: () => IPortalData | IAnonymousPortalData | null, + setAnonymousPortalData: (_portalData: IAnonymousPortalData) => void, + + // These are directly related to storing student answers and fetching them back + watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: FirebaseImp.WrappedDBAnswer | null) => void): () => void + watchAllAnswers: (callback: (wrappedAnswer: FirebaseImp.WrappedDBAnswer[]) => void) => void, + createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => void, + getLearnerPluginStateDocId: (pluginId: number) => string|undefined, + getCachedLearnerPluginState: (pluginId: number) => string|null, + getLearnerPluginState: (pluginId: number) => Promise, + setLearnerPluginState: (pluginId: number, state: string) => Promise, + checkIfOnline: () => Promise +} + +const FireStoreStorageProvider: StorageInterface = { + // TODO: Specific to FireStore: + onFirestoreSaveTimeout: (handler: () => void) => FirebaseImp.onFirestoreSaveTimeout(handler), + onFirestoreSaveAfterTimeout: (handler: () => void) => FirebaseImp.onFirestoreSaveAfterTimeout(handler), + initializeDB: ({name, preview}: IStorageInitializer) => FirebaseImp.initializeDB({name, preview}), + initializeAnonymousDB: (preview: boolean) => FirebaseImp.initializeAnonymousDB(preview), + signInWithToken: (rawFirestoreJWT: string) =>FirebaseImp.signInWithToken(rawFirestoreJWT), + + // TODO: authentication and identity concerns, and should be extracted elsewhere: + setPortalData: (_portalData: IPortalData | null) => FirebaseImp.setPortalData(_portalData), + getPortalData: () => FirebaseImp.getPortalData(), + setAnonymousPortalData: (_portalData: IAnonymousPortalData) => FirebaseImp.setAnonymousPortalData(_portalData), + + // Saving and Loading student work + watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: FirebaseImp.WrappedDBAnswer | null) => void) => FirebaseImp.watchAnswer(embeddableRefId, callback), + watchAllAnswers: (callback: (wrappedAnswer: FirebaseImp.WrappedDBAnswer[]) => void) => FirebaseImp.watchAllAnswers(callback), + createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => FirebaseImp.createOrUpdateAnswer(answer), + getLearnerPluginStateDocId: (pluginId: number) => FirebaseImp.getLearnerPluginStateDocId(pluginId), + getCachedLearnerPluginState: (pluginId: number) => FirebaseImp.getCachedLearnerPluginState(pluginId), + getLearnerPluginState: (pluginId: number) => FirebaseImp.getLearnerPluginState(pluginId), + setLearnerPluginState: (pluginId: number, state: string) => FirebaseImp.setLearnerPluginState(pluginId,state), + checkIfOnline: () => FirebaseImp.checkIfOnline() +}; + + +const indexDBConnection = new DexieStorage(); + +const DexieStorageProvider = {...FireStoreStorageProvider, + createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => { + console.dir(answer); + indexDBConnection.answers.put(answer); + // TODO: Return the correct type. For now we call through to Firebase + return FirebaseImp.createOrUpdateAnswer(answer); + } +}; + +export const Storage = DexieStorageProvider; diff --git a/src/utilities/plugin-utils.ts b/src/utilities/plugin-utils.ts index 760112bf..033b1587 100644 --- a/src/utilities/plugin-utils.ts +++ b/src/utilities/plugin-utils.ts @@ -1,6 +1,6 @@ import { ICustomMessage } from "@concord-consortium/lara-interactive-api"; import { Optional } from "utility-types"; -import { getCachedLearnerPluginState, getLearnerPluginState, getPortalData } from "../firebase-db"; +import { Storage } from "../storage-facade"; import { LaraGlobalType } from "../lara-plugin"; import { IEmbeddableContextOptions, IPluginRuntimeContextOptions } from "../lara-plugin/plugins/plugin-context"; import { Activity, Embeddable, IEmbeddablePlugin, Plugin } from "../types"; @@ -98,7 +98,7 @@ export const validateEmbeddablePluginContextForWrappedEmbeddable = // loads the learner plugin state into the firebase write-through cache export const loadLearnerPluginState = async (activity: Activity, teacherEditionMode: boolean) => { const plugins = findUsedPlugins(activity, teacherEditionMode); - await Promise.all(plugins.map(async (plugin) => await getLearnerPluginState(plugin.id))); + await Promise.all(plugins.map(async (plugin) => await Storage.getLearnerPluginState(plugin.id))); }; export const initializePlugin = (context: IEmbeddablePluginContext) => { @@ -118,7 +118,7 @@ export const initializePlugin = (context: IEmbeddablePluginContext) => { const embeddableContextAny = embeddableContext as any; const pluginId = usedPlugin.id; - const portalData = getPortalData(); + const portalData = Storage.getPortalData(); const activity = queryValue("activity"); const pluginLabel = `plugin${pluginId}`; const pluginContext: IPluginRuntimeContextOptions = { @@ -128,7 +128,7 @@ export const initializePlugin = (context: IEmbeddablePluginContext) => { pluginId, embeddablePluginId: null, authoredState: embeddable.plugin?.author_data || null, - learnerState: getCachedLearnerPluginState(pluginId), + learnerState: Storage.getCachedLearnerPluginState(pluginId), learnerStateSaveUrl: "", container: embeddableContainer, componentLabel: pluginLabel, diff --git a/src/utilities/report-utils.ts b/src/utilities/report-utils.ts index 9e2c4702..eea0e421 100644 --- a/src/utilities/report-utils.ts +++ b/src/utilities/report-utils.ts @@ -1,5 +1,5 @@ import { queryValue } from "../utilities/url-query"; -import { getPortalData } from "../firebase-db"; +import { Storage } from "../storage-facade"; import { IPortalData, firebaseAppName } from "../portal-api"; // TODO: switch default to production report version before production deploy @@ -30,7 +30,7 @@ export const getReportUrl = () => { } else { // We know this is a IPortalData because there is no runKey - const portalData = getPortalData() as IPortalData; + const portalData = Storage.getPortalData() as IPortalData; const classInfoUrl = portalData?.portalJWT?.class_info_url; const sourceKey = activityUrl ? makeSourceKey(activityUrl) : window.location.hostname; const authDomainUrl = classInfoUrl?.split("/api")[0]; From 3b82c74dea100d023e09d24bea6a748a4bd9a9a4 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 23 Feb 2021 07:25:43 -0500 Subject: [PATCH 017/242] Added offline activity list [#176963850] - Startup code now saves launch list activities to a Dexie table - In offline mode when no activity is selected a list of activities is shown - In offline mode when an activity is selected a header is added to return to the list of activities --- cypress/integration/launch-list.test.ts | 10 +- cypress/support/elements/activity-page.js | 7 +- src/components/activity-header/header.tsx | 6 +- .../activity-header/offline-nav.scss | 44 --------- .../activity-header/offline-nav.tsx | 28 ------ src/components/app.tsx | 76 +++++++------- src/components/launch-list-launcher.scss | 52 ---------- src/components/launch-list-launcher.tsx | 52 ---------- src/components/offline-activities.scss | 17 ++++ src/components/offline-activities.tsx | 98 +++++++++++++++++++ src/components/offline-nav.scss | 26 +++++ src/components/offline-nav.tsx | 21 ++++ src/components/warning-banner.scss | 24 +++-- src/components/warning-banner.tsx | 6 +- src/dexie-storage.ts | 6 +- src/launch-list-api.ts | 25 +++-- src/public/launch-lists/smoke-test.json | 2 +- src/types.ts | 4 + 18 files changed, 262 insertions(+), 242 deletions(-) delete mode 100644 src/components/activity-header/offline-nav.scss delete mode 100644 src/components/activity-header/offline-nav.tsx delete mode 100644 src/components/launch-list-launcher.scss delete mode 100644 src/components/launch-list-launcher.tsx create mode 100644 src/components/offline-activities.scss create mode 100644 src/components/offline-activities.tsx create mode 100644 src/components/offline-nav.scss create mode 100644 src/components/offline-nav.tsx diff --git a/cypress/integration/launch-list.test.ts b/cypress/integration/launch-list.test.ts index bb436a82..9fdcfaa8 100644 --- a/cypress/integration/launch-list.test.ts +++ b/cypress/integration/launch-list.test.ts @@ -41,16 +41,16 @@ context("Test using launch lists", () => { // verify loading dialog shows and then auto closes activityPage.getLaunchListLoadingDialog().should("be.visible").and("contain", "AP Smoke Test"); - // verify launch list shows - activityPage.getLaunchListLauncher().should("be.visible").and("contain", "AP Smoke Test"); + // verify offline activities list shows + activityPage.getOfflineActivities().should("be.visible").and("contain", "AP Smoke Test"); }); - it("verify launch list launcher shows and clicking an item loads it",() => { + it("verify offline activities show and clicking an item loads it",() => { cy.visit("?launchList=smoke-test"); // verify clicking on activity loads it and closes the launcher - activityPage.getActivityTitle({timeout: 0}).should("not.exist"); - activityPage.getLaunchListLauncher().contains("Activity 1").click(); + activityPage.getLaunchListLoadingDialog({timeout: 0}).should("not.exist"); + activityPage.getOfflineActivityList().contains("AP Smoke Test").click(); activityPage.getActivityTitle().should("be.visible").and("contain", "AP Smoke Test"); }); }); diff --git a/cypress/support/elements/activity-page.js b/cypress/support/elements/activity-page.js index 157dc2b5..0cb981f2 100644 --- a/cypress/support/elements/activity-page.js +++ b/cypress/support/elements/activity-page.js @@ -37,8 +37,11 @@ class ActivityPage { getLaunchListLoadingDialog(options) { return cy.get("[data-cy=launch-list-loading-dialog", options); } - getLaunchListLauncher(options) { - return cy.get("[data-cy=launch-list-launcher", options); + getOfflineActivities(options) { + return cy.get("[data-cy=offline-activities", options); + } + getOfflineActivityList(options) { + return cy.get("[data-cy=offline-activities] td.activity", options); } getActivityTitle(options) { return cy.get("[data-cy=activity-title", options); diff --git a/src/components/activity-header/header.tsx b/src/components/activity-header/header.tsx index 6d1217b6..1adbfcd1 100644 --- a/src/components/activity-header/header.tsx +++ b/src/components/activity-header/header.tsx @@ -13,6 +13,7 @@ interface IProps { contentName: string; showSequence?: boolean; onShowSequence?: () => void; + skipTitlePrefix?: boolean; } export class Header extends React.PureComponent { @@ -44,10 +45,11 @@ export class Header extends React.PureComponent { } private renderContentTitle = () => { - const { contentName, showSequence } = this.props; + const { contentName, showSequence, skipTitlePrefix } = this.props; + const titlePrefix = skipTitlePrefix ? "" : (showSequence ? "Sequence: " : "Activity: "); return (
    - {`${showSequence ? "Sequence:" : "Activity:"} ${contentName}`} + {`${titlePrefix}${contentName}`}
    ); } diff --git a/src/components/activity-header/offline-nav.scss b/src/components/activity-header/offline-nav.scss deleted file mode 100644 index 2eaf5611..00000000 --- a/src/components/activity-header/offline-nav.scss +++ /dev/null @@ -1,44 +0,0 @@ -@import "../vars.scss"; - -.offline-nav { - height: 60px; - width: 100%; - margin-bottom: 3px; - font-size: 18px; - font-weight: bold; - - .inner { - display: flex; - flex-direction: row; - align-items: center; - height: 100%; - width: $content-width; - box-sizing: border-box; - margin: auto; - background-color: $cc-orange; - color: $cc-charcoal; - - &.full { - width: 100%; - } - - .nav-center { - display: flex; - flex-direction: row; - align-items: center; - justify-content: flex-start; - flex: 1; - min-width: 0; - height: 20px; - padding: 8px 10px; - } - - .nav-right { - display: flex; - flex-direction: row; - align-items: center; - justify-content: flex-end; - margin-right: 10px; - } - } -} diff --git a/src/components/activity-header/offline-nav.tsx b/src/components/activity-header/offline-nav.tsx deleted file mode 100644 index 1d9a8d0e..00000000 --- a/src/components/activity-header/offline-nav.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import React from "react"; - -import "./offline-nav.scss"; - -interface IProps { - fullWidth?: boolean; - onShowLaunchList: () => void; -} - -export class OfflineNav extends React.PureComponent { - render() { - const { fullWidth, onShowLaunchList } = this.props; - const handleShowLaunchList = () => onShowLaunchList(); - - return ( -
    -
    -
    - You are running offline (need better message here...) -
    -
    - -
    -
    -
    - ); - } -} diff --git a/src/components/app.tsx b/src/components/app.tsx index f72c98f3..2678a0d4 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -31,10 +31,10 @@ import { Logger, LogEventName } from "../lib/logger"; import { GlossaryPlugin } from "../components/activity-page/plugins/glossary-plugin"; import { IdleDetector } from "../utilities/idle-detector"; import { messageSW, Workbox } from "workbox-window"; -import { getLaunchList, getLaunchListAuthoringData, getLaunchListAuthoringId, getLaunchListId, LaunchListAuthoringData, mergeLaunchListWithAuthoringData, setLaunchListAuthoringData, setLaunchListAuthoringId, setLaunchListId } from "../launch-list-api"; +import { getLaunchList, getLaunchListAuthoringData, getLaunchListAuthoringId, LaunchListAuthoringData, mergeLaunchListWithAuthoringData, saveLaunchListToOfflineActivities, setLaunchListAuthoringData, setLaunchListAuthoringId } from "../launch-list-api"; import { LaunchListLoadingDialog } from "./launch-list-loading-dialog"; -import { LaunchListLauncherDialog } from "./launch-list-launcher"; -import { OfflineNav } from "./activity-header/offline-nav"; +import { OfflineActivities } from "./offline-activities"; +import { OfflineNav } from "./offline-nav"; import { LaunchListAuthoringNav } from "./launch-list-authoring-nav"; import "./app.scss"; @@ -76,6 +76,7 @@ interface IState { errorType: null | ErrorType; idle: boolean; offlineMode: boolean; + launchListId?: string; launchListAuthoringId?: string; launchListAuthoringActivities: LaunchListActivity[]; launchListAuthoringCacheList: string[]; @@ -96,6 +97,8 @@ export class App extends React.PureComponent { setLaunchListAuthoringId(queryValue("setLaunchListAuthoringId")); const launchListAuthoringId = getLaunchListAuthoringId(); + const launchListId = queryValue("launchList"); + this.state = { currentPage: 0, teacherEditionMode: false, @@ -109,11 +112,12 @@ export class App extends React.PureComponent { errorType: null, idle: false, loadingLaunchList: false, - offlineMode: (queryValue("offline") === "true") || !!launchListAuthoringId, + offlineMode: (queryValue("offline") === "true") || !!launchListAuthoringId || !!launchListId, launchListAuthoringActivities: [], launchListAuthoringCacheList: [], showLaunchListInstallConfimation: queryValue("confirmLaunchListInstall") === "true", - launchListAuthoringId + launchListAuthoringId, + launchListId }; } @@ -203,27 +207,26 @@ export class App extends React.PureComponent { async componentDidMount() { try { - const launchListAuthoringId = this.state.launchListAuthoringId; + const {launchListId, launchListAuthoringId} = this.state; + let launchListAuthoringData: LaunchListAuthoringData | undefined; if (launchListAuthoringId) { launchListAuthoringData = getLaunchListAuthoringData(launchListAuthoringId); } let launchList: LaunchList | undefined = undefined; - const launchListId = queryValue("launchList") || (this.state.offlineMode ? getLaunchListId() : undefined); const loadingLaunchList = !!launchListId; if (launchListId) { launchList = await getLaunchList(launchListId); - // save the launch list in offline mode so the PWA knows which launch list to show - if (this.state.offlineMode) { - setLaunchListId(launchListId); - } - // merge the launch list data into the saved data - if (launchList && launchListAuthoringId && launchListAuthoringData) { - launchListAuthoringData = mergeLaunchListWithAuthoringData(launchList, launchListAuthoringData); - setLaunchListAuthoringData(launchListAuthoringId, launchListAuthoringData); + if (launchList) { + if (launchListAuthoringId && launchListAuthoringData) { + launchListAuthoringData = mergeLaunchListWithAuthoringData(launchList, launchListAuthoringData); + setLaunchListAuthoringData(launchListAuthoringId, launchListAuthoringData); + } + + await saveLaunchListToOfflineActivities(launchList); } } @@ -235,7 +238,7 @@ export class App extends React.PureComponent { } let activity: Activity | undefined = undefined; - const activityPath = queryValue("activity") || (launchList ? undefined : kDefaultActivity); + const activityPath = queryValue("activity") || (this.state.offlineMode ? undefined : kDefaultActivity); if (activityPath) { activity = await getActivityDefinition(activityPath); if (launchListAuthoringId) { @@ -328,6 +331,7 @@ export class App extends React.PureComponent { } render() { + const showOfflineNav = this.state.offlineMode && !!this.state.activity; return ( @@ -341,6 +345,7 @@ export class App extends React.PureComponent { launchListAuthoringCacheList={this.state.launchListAuthoringCacheList} /> } + { showOfflineNav && } { this.renderContent() } { this.state.showThemeButtons && }
    {(window as any).__appVersionInfo || "(No Version Info)"}
    @@ -356,26 +361,11 @@ export class App extends React.PureComponent { } private renderContent = () => { - const {launchList, loadingLaunchList, activity, showSequenceIntro, sequence, username, offlineMode, showLaunchListInstallConfimation, launchListAuthoringId} = this.state; - if (launchList) { - if (loadingLaunchList) { - return ; - } else if (activity) { - return this.renderActivity(); - } else { - const handleSelectActivity = (selectedActivity: Activity, url: string) => { - this.setState({ activity: selectedActivity }); - if (this.state.launchListAuthoringId) { - this.addActivityToLaunchList(this.state.launchListAuthoringId, selectedActivity, url); - } - }; - return ; - } - } else if (offlineMode && !launchListAuthoringId) { - if (loadingLaunchList) { - return
    Loading launch list...
    ; - } - return
    TODO: handle case were PWA does not have a launch list saved
    ; + const {launchList, loadingLaunchList, showSequenceIntro, sequence, username, offlineMode, showLaunchListInstallConfimation, activity} = this.state; + if (launchList && loadingLaunchList) { + return ; + } else if (offlineMode) { + return activity ? this.renderActivity() : ; } else if (showSequenceIntro) { return ; } else { @@ -384,17 +374,15 @@ export class App extends React.PureComponent { } private renderActivity = () => { - const { activity, idle, errorType, currentPage, username, pluginsLoaded, teacherEditionMode, sequence, portalData, offlineMode } = this.state; + const { activity, idle, errorType, currentPage, username, pluginsLoaded, teacherEditionMode, sequence, portalData } = this.state; if (!activity) return (
    Loading activity ...
    ); const totalPreviousQuestions = numQuestionsOnPreviousPages(currentPage, activity); const fullWidth = (currentPage !== 0) && (activity.pages[currentPage - 1].layout === PageLayouts.Responsive); const glossaryEmbeddable: IEmbeddablePlugin | undefined = getGlossaryEmbeddable(activity); const isCompletionPage = currentPage > 0 && activity.pages[currentPage - 1].is_completion; - const handleShowLaunchList = () => this.setState({ activity: undefined }); return ( - {offlineMode && }
    { }); } } + + private handleSelectOfflineActivity = (selectedActivity: Activity, url: string) => { + this.setState({ activity: selectedActivity }); + if (this.state.launchListAuthoringId) { + this.addActivityToLaunchList(this.state.launchListAuthoringId, selectedActivity, url); + } + } + + private handleShowOfflineActivities = () => this.setState({ activity: undefined }); + } diff --git a/src/components/launch-list-launcher.scss b/src/components/launch-list-launcher.scss deleted file mode 100644 index 046cf41c..00000000 --- a/src/components/launch-list-launcher.scss +++ /dev/null @@ -1,52 +0,0 @@ -.launch-list-launcher { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: flex; - justify-content: center; - align-items: center; - - .background { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: rgba($color: #000000, $alpha: 0.75); - } - - .dialog { - z-index: 1; - background-color: #fff; - padding: 20px; - color: #000; - min-width: 300px; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - - div { - margin: 10px 0; - } - - ul { - list-style-type: none; - margin: 0; - padding: 0; - cursor: pointer; - } - - li { - margin: 3px; - padding: 3px 10px; - } - - li:hover { - background-color: #aaa; - color: #fff; - } - } -} \ No newline at end of file diff --git a/src/components/launch-list-launcher.tsx b/src/components/launch-list-launcher.tsx deleted file mode 100644 index dc1586c3..00000000 --- a/src/components/launch-list-launcher.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import React from "react"; -import { getActivityDefinition } from "../lara-api"; -import { Activity, LaunchList, LaunchListActivity } from "../types"; - -import "./launch-list-launcher.scss"; - -const LaunchListLauncherDialogItem = (props: {activity: LaunchListActivity; onSelectLaunchListActivity: (activity: LaunchListActivity) => void}) => { - const handleSelectActivity = () => props.onSelectLaunchListActivity(props.activity); - return ( -
  • {props.activity.name}
  • - ); -}; - -interface IProps { - launchList: LaunchList; - onSelectActivity: (activity: Activity, url: string) => void; -} - -export class LaunchListLauncherDialog extends React.PureComponent { - - handleSelectLaunchListActivity = async (launchListActivity: LaunchListActivity) => { - const { onSelectActivity } = this.props; - try { - const activity = await getActivityDefinition(launchListActivity.url); - onSelectActivity(activity, launchListActivity.url); - } catch (e) { - alert("Error loading activity!"); - } - } - - render() { - const { launchList } = this.props; - - return ( -
    -
    -
    -
    - Select a {launchList.name} activity ... -
    -
    -
      - {launchList.activities.map(activity => - - )} -
    -
    -
    -
    - ); - } -} diff --git a/src/components/offline-activities.scss b/src/components/offline-activities.scss new file mode 100644 index 00000000..68a29e45 --- /dev/null +++ b/src/components/offline-activities.scss @@ -0,0 +1,17 @@ +.offline-activities { + + .offline-content { + padding: 20px; + background-color: white; + + th { + text-align: left; + } + + .activity { + color: #00f; + text-decoration: underline; + cursor: pointer; + } + } +} \ No newline at end of file diff --git a/src/components/offline-activities.tsx b/src/components/offline-activities.tsx new file mode 100644 index 00000000..43f905a3 --- /dev/null +++ b/src/components/offline-activities.tsx @@ -0,0 +1,98 @@ +import React from "react"; +import { getActivityDefinition } from "../lara-api"; +import { getOfflineActivities } from "../launch-list-api"; +import { Activity, OfflineActivity } from "../types"; +import { Header } from "./activity-header/header"; + +import "./offline-activities.scss"; + +const OfflineActivityListRow = (props: {activity: OfflineActivity; onSelectOfflineActivity: (activity: OfflineActivity) => void}) => { + const handleSelectActivity = () => props.onSelectOfflineActivity(props.activity); + return ( + + TDB + {props.activity.name} + + ); +}; + +interface IProps { + username: string; + onSelectActivity: (activity: Activity, url: string) => void; +} + +interface IState { + loading: boolean; + offlineActivities: OfflineActivity[] +} + +export class OfflineActivities extends React.Component { + + constructor (props: IProps) { + super(props); + this.state = { + loading: true, + offlineActivities: [] + }; + } + + async UNSAFE_componentWillMount() { + const offlineActivities = await getOfflineActivities(); + this.setState({offlineActivities, loading: false}); + } + + handleSelectOfflineActivity = async (offlineActivity: OfflineActivity) => { + const { onSelectActivity } = this.props; + try { + const activity = await getActivityDefinition(offlineActivity.url); + onSelectActivity(activity, offlineActivity.url); + } catch (e) { + alert("Error loading activity!"); + } + } + + renderNoActivitiesFound() { + return ( +
    Sorry, no offline activities were found!
    + ); + } + + renderTable() { + const { offlineActivities } = this.state; + return ( + + + + + + + + + {offlineActivities.map(offlineActivity => + + )} + +
    ClassActivity
    + ); + } + + render() { + const { username } = this.props; + const { loading, offlineActivities } = this.state; + + return ( +
    +
    +
    + { loading ? "Loading..." : (offlineActivities.length === 0 ? this.renderNoActivitiesFound() : this.renderTable())} +
    +
    + ); + } +} diff --git a/src/components/offline-nav.scss b/src/components/offline-nav.scss new file mode 100644 index 00000000..29d64660 --- /dev/null +++ b/src/components/offline-nav.scss @@ -0,0 +1,26 @@ +@import "./vars.scss"; + +.offline-nav { + height: 60px; + width: 100%; + margin-bottom: 3px; + font-size: 18px; + font-weight: bold; + + .inner { + display: flex; + flex-direction: row; + align-items: center; + height: 100%; + width: $content-width; + box-sizing: border-box; + margin: auto; + background-color: $cc-orange; + color: $cc-charcoal; + cursor: pointer; + + svg { + margin: 0 5px 0 20px; + } + } +} diff --git a/src/components/offline-nav.tsx b/src/components/offline-nav.tsx new file mode 100644 index 00000000..2bb7ec4a --- /dev/null +++ b/src/components/offline-nav.tsx @@ -0,0 +1,21 @@ +import React from "react"; +import IconHome from "../assets/svg-icons/icon-home.svg"; + +import "./offline-nav.scss"; + +interface IProps { + onOfflineActivities: () => void; +} + +export class OfflineNav extends React.PureComponent { + render() { + return ( +
    +
    + + Offline Activities +
    +
    + ); + } +} diff --git a/src/components/warning-banner.scss b/src/components/warning-banner.scss index 04f3646c..37c43a97 100644 --- a/src/components/warning-banner.scss +++ b/src/components/warning-banner.scss @@ -1,12 +1,22 @@ @import "./vars.scss"; .warning-banner { - display: flex; - flex-direction: row; - background-color: $cc-orange; - color: black; - font-size: 22px; - padding: 10px; - min-height: 50px; + height: 60px; width: 100%; + margin-bottom: 3px; + font-size: 18px; + font-weight: bold; + + .inner { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + height: 100%; + width: $content-width; + box-sizing: border-box; + margin: auto; + background-color: #f00; + color: #fff; + } } diff --git a/src/components/warning-banner.tsx b/src/components/warning-banner.tsx index bc28243c..64036a5c 100644 --- a/src/components/warning-banner.tsx +++ b/src/components/warning-banner.tsx @@ -5,7 +5,11 @@ import "./warning-banner.scss"; export const WarningBanner: React.FC = () => { return (
    - WARNING: The activity player is storing data in a test database. Your data could be deleted at any time. +
    +
    + WARNING: The activity player is using a test database. Your data could be deleted at any time. +
    +
    ); }; diff --git a/src/dexie-storage.ts b/src/dexie-storage.ts index 52438472..4cc1228a 100644 --- a/src/dexie-storage.ts +++ b/src/dexie-storage.ts @@ -1,11 +1,12 @@ import Dexie from "dexie"; -import { IExportableAnswerMetadata } from "./types"; +import { OfflineActivity, IExportableAnswerMetadata } from "./types"; // Copy and pasted from the example: https://dexie.org/docs/Typescript export class DexieStorage extends Dexie { // Declare implicit table properties. // (just to inform Typescript. Instantiated by Dexie in stores() method) answers: Dexie.Table; // number = type of the primkey + offlineActivities: Dexie.Table; //...other tables goes here... constructor () { @@ -14,6 +15,9 @@ export class DexieStorage extends Dexie { answers: "id, question_id, question_type", //...other tables goes here... }); + this.version(3).stores({ + offlineActivities: "&url" // unique by url + }); } } diff --git a/src/launch-list-api.ts b/src/launch-list-api.ts index cab19d4f..e0f1735a 100644 --- a/src/launch-list-api.ts +++ b/src/launch-list-api.ts @@ -1,5 +1,7 @@ +import { DexieStorage } from "./dexie-storage"; import { LaunchList, LaunchListActivity } from "./types"; +const dexie = new DexieStorage(); export interface LaunchListAuthoringData { activities: LaunchListActivity[]; cacheList: string[] @@ -54,17 +56,9 @@ export const cacheLaunchList = (options: cacheLaunchListOptions) => { .catch(err => onAllUrlsCacheFailed(err)); }; -export const LaunchListCurrentIdKey = "launchListCurrentId"; export const LaunchListAuthoringIdKey = "launchListAuthoringId"; export const LaunchListAuthoringDataKeyPrefix = "launchListAuthoringData:"; -export const setLaunchListId = (value: string) => { - window.localStorage.setItem(LaunchListCurrentIdKey, value); -}; -export const getLaunchListId = () => { - return window.localStorage.getItem(LaunchListCurrentIdKey) || undefined; -}; - export const setLaunchListAuthoringId = (value: string | undefined) => { if (value !== undefined) { window.localStorage.setItem(LaunchListAuthoringIdKey, value); @@ -120,3 +114,18 @@ export const mergeLaunchListWithAuthoringData = (launchList: LaunchList, authori }); return {activities, cacheList}; }; + +export const saveLaunchListToOfflineActivities = async (launchList: LaunchList) => { + const promises = launchList.activities.map(async (launchListActivity) => { + const {name, url} = launchListActivity; + const offlineActivity = await dexie.offlineActivities.get({url}); + if (offlineActivity) { + await dexie.offlineActivities.update(url, {name, url}); + } else { + await dexie.offlineActivities.put({name, url}); + } + }); + await Promise.all(promises); +}; + +export const getOfflineActivities = async () => await dexie.offlineActivities.toArray(); diff --git a/src/public/launch-lists/smoke-test.json b/src/public/launch-lists/smoke-test.json index d7b1fd6b..d120e762 100644 --- a/src/public/launch-lists/smoke-test.json +++ b/src/public/launch-lists/smoke-test.json @@ -2,7 +2,7 @@ "name": "AP Smoke Test", "activities": [ { - "name": "Activity 1", + "name": "AP Smoke Test", "url": "https://authoring.staging.concord.org/api/v1/activities/20874.json" } ], diff --git a/src/types.ts b/src/types.ts index edaa9707..b32feffa 100644 --- a/src/types.ts +++ b/src/types.ts @@ -272,4 +272,8 @@ export interface LaunchList { name: string activities: LaunchListActivity[]; cacheList: string[] +} + +export interface OfflineActivity extends LaunchListActivity { + // TBD: add class info once that is figured out } \ No newline at end of file From 6d1924a80689ab55879c4dc6b40d3a64ac13e857 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 23 Feb 2021 08:59:20 -0500 Subject: [PATCH 018/242] Fixed brittle idle detector test Added query parameters to set idle time. --- cypress/integration/idle-warning.test.ts | 20 +++++++++++--------- src/components/app.tsx | 4 ++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/cypress/integration/idle-warning.test.ts b/cypress/integration/idle-warning.test.ts index 886eeb2f..efe3082d 100644 --- a/cypress/integration/idle-warning.test.ts +++ b/cypress/integration/idle-warning.test.ts @@ -1,3 +1,5 @@ +const idleTimeout = 21 * 60 * 1000; + context("Idle warning", () => { beforeEach(() => { cy.clock(); @@ -6,11 +8,11 @@ context("Idle warning", () => { // NOTE: all the idle warning tests disable the service worker due to issues with Cypress timing out otherwise context("when user is anonymous", () => { - it("shows after 20 minutes of inactivity and lets user continue his work", () => { - cy.visit("?activity=sample-activity-1"); + it("shows after period of inactivity and lets user continue his work", () => { + cy.visit("?activity=sample-activity-1&__maxIdleTime=1000&__timeout=1000"); cy.tick(1000); // necessary to "download" sample activity. AP uses setTimeout(, 250) for fake network request. cy.get("[data-cy=activity-summary]").should("contain", "Single Page Test Activity"); - cy.tick(21 * 60 * 1000); // 21 minutes + cy.tick(idleTimeout); cy.get("[data-cy=idle-warning]").should("contain", "You've been idle for too long."); cy.get("[data-cy=continue]").click(); @@ -24,11 +26,11 @@ context("Idle warning", () => { // Eventually it should be replaced with better patterns for testing logged in users (probably via using // `token` param and stubbing network requests). - it("shows after 20 minutes of inactivity and lets user continue his work", () => { - cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true"); + it("shows after period of inactivity and lets user continue his work", () => { + cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true&__maxIdleTime=1000&__timeout=1000"); cy.tick(1000); // necessary to "download" sample activity. AP uses setTimeout(, 250) for fake network request. cy.get("[data-cy=activity-summary]").should("contain", "Single Page Test Activity"); - cy.tick(21 * 60 * 1000); // 21 minutes + cy.tick(idleTimeout); cy.get("[data-cy=idle-warning]").should("contain", "your session is about to expire"); cy.get("[data-cy=continue]").click(); @@ -36,11 +38,11 @@ context("Idle warning", () => { cy.get("[data-cy=activity-summary]").should("contain", "Single Page Test Activity"); }); - it("shows after 20 minutes of inactivity and lets user go back to Portal", () => { - cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true"); + it("shows after period of inactivity and lets user go back to Portal", () => { + cy.visit("?activity=sample-activity-1&__cypressLoggedIn=true&__maxIdleTime=1000&__timeout=1000"); cy.tick(1000); // necessary to "download" sample activity. AP uses setTimeout(, 250) for fake network request. cy.get("[data-cy=activity-summary]").should("contain", "Single Page Test Activity"); - cy.tick(21 * 60 * 1000); // 21 minutes + cy.tick(idleTimeout); cy.get("[data-cy=idle-warning]").should("contain", "your session is about to expire"); cy.get("[data-cy=exit]").click(); diff --git a/src/components/app.tsx b/src/components/app.tsx index 2678a0d4..4a8dc3be 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -43,9 +43,9 @@ const kDefaultActivity = "sample-activity-multiple-layout-types"; // may event const kDefaultIncompleteMessage = "Please submit an answer first."; // User will see the idle warning after kMaxIdleTime -const kMaxIdleTime = 20 * 60 * 1000; // 20 minutes +const kMaxIdleTime = parseInt(queryValue("__maxIdleTime") || `${20 * 60 * 1000}`, 10); // 20 minutes // User session will timeout after kMaxIdleTime + kTimeout -const kTimeout = 5 * 60 * 1000; // 5 minutes +const kTimeout = parseInt(queryValue("__timeout") || `${5 * 60 * 1000}`, 10); // 5 minutes const kLearnPortalUrl = "https://learn.concord.org"; From a772080d2f2bc6152496ee167c8bd97d71f54c8d Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 23 Feb 2021 12:26:53 -0500 Subject: [PATCH 019/242] Renamed launch lists to offline manifests --- README.md | 38 ++--- ...-list.test.ts => offline-manifest.test.ts} | 32 ++-- cypress/support/elements/activity-page.js | 12 +- cypress/support/index.js | 2 +- src/components/app.tsx | 151 +++++++++--------- src/components/launch-list-authoring-nav.tsx | 59 ------- src/components/offline-activities.tsx | 2 +- ...ss => offline-manifest-authoring-nav.scss} | 2 +- .../offline-manifest-authoring-nav.tsx | 59 +++++++ ...ss => offline-manifest-loading-modal.scss} | 2 +- ...tsx => offline-manifest-loading-modal.tsx} | 32 ++-- src/launch-list-api.ts | 131 --------------- src/offline-manifest-api.ts | 131 +++++++++++++++ .../smoke-test.json | 0 src/types.ts | 10 +- 15 files changed, 331 insertions(+), 332 deletions(-) rename cypress/integration/{launch-list.test.ts => offline-manifest.test.ts} (50%) delete mode 100644 src/components/launch-list-authoring-nav.tsx rename src/components/{launch-list-authoring-nav.scss => offline-manifest-authoring-nav.scss} (94%) create mode 100644 src/components/offline-manifest-authoring-nav.tsx rename src/components/{launch-list-loading-dialog.scss => offline-manifest-loading-modal.scss} (94%) rename src/components/{launch-list-loading-dialog.tsx => offline-manifest-loading-modal.tsx} (72%) delete mode 100644 src/launch-list-api.ts create mode 100644 src/offline-manifest-api.ts rename src/public/{launch-lists => offline-manifests}/smoke-test.json (100%) diff --git a/README.md b/README.md index c0e472c4..1f858c84 100644 --- a/README.md +++ b/README.md @@ -109,43 +109,43 @@ Inside of your `package.json` file: ## Usage Notes -### Launch Lists +### Offline Manifests -A launch list is a JSON file containing both a list of activities and a list of GET urls to cache offline. It is used to enable offline use of the Activity Player. +An offline manifest is a JSON file containing both a list of activities and a list of GET urls to cache offline. It is used to enable offline use of the Activity Player. -### Using a Launch List +### Using an Offline Manifest -Launch lists are specified using a `launchList=` query parameter that points to the filename (without the `.json` extension) in the `src/public/launch-lists` folder which is published with each deploy of the Activity Player. +Offline manifests are specified using a `offlineManifest=` query parameter that points to the filename (without the `.json` extension) in the `src/public/offline-manifests` folder which is published with each deploy of the Activity Player. When running locally (after running `npm start`) load the following url: -http://localhost:11000/?launchList=smoke-test +http://localhost:11000/?offlineManifest=smoke-test -#### Creating a Launch List +#### Creating an Offline Manifest -Launch lists can either be authored by hand or more easily by enabling "authoring more" and having the Activity Player itself record the activities loaded and the urls to cache. +Offline manifests can either be authored by hand or more easily by enabling "authoring more" and having the Activity Player itself record the activities loaded and the urls to cache. -To enable authoring mode launch the Activity Player with the `setLaunchListAuthoringId=` query parameter set to the launch list name. As an example when running locally using `npm start` you would use the following url: +To enable authoring mode launch the Activity Player with the `setOfflineManifestAuthoringId=` query parameter set to the offline manifest name. As an example when running locally using `npm start` you would use the following url: -http://localhost:11000/?setLaunchListAuthoringId=example +http://localhost:11000/?setOfflineManifestAuthoringId=example -to turn on authoring mode and to set the launch list name to `example`. This setting is stored in localstorage so it persists across page loads so you **do not** need to keep the parameter in the query string to keep authoring mode enabled. +to turn on authoring mode and to set the offline manifest name to `example`. This setting is stored in localstorage so it persists across page loads so you **do not** need to keep the parameter in the query string to keep authoring mode enabled. Once authoring mode is enabled a nav bar is added to the top of the site showing the number of activities and urls cached. To add an activity use the `activity=` url parameter. The activity will load and you should see the activity count in the authoring nav bar increase by 1 along with the cache list for any urls found as values in the downloaded activity json file. You will then need to navigate through all the pages so ensure all the urls are cached as interactive in each page loads. Note: you may need to use the interactive if it does not immediately load all of its assets - this needs to be determined in a case by case basis. -Once you have loaded all the activities you want to add to the launch list and navigated through their pages you can click the "Download JSON" link to download the launch list in your browser. It will be named the same as the launch list id you set. You can then save that json file in the `src/public/launch-list` folder and edit it to reorder the activity list if desired. +Once you have loaded all the activities you want to add to the offline manifest and navigated through their pages you can click the "Download JSON" link to download the offline manifest in your browser. It will be named the same as the offline manifest id you set. You can then save that json file in the `src/public/offline-manifests` folder and edit it to reorder the activity list if desired. -#### Editing a Launch List +#### Editing an Offline Manifest -If you have a launch list saved in the launch-lists folder named `example` you would load the following URL(after running `npm start`): +If you have a offline manifest saved in the offline-manifests folder named `example` you would load the following URL(after running `npm start`): -http://localhost:11000/?setLaunchListAuthoringId=example&launchList=example +http://localhost:11000/?setOfflineManifestAuthoringId=example&offlineManifest=example -At this point you can either add new activities by manually adding an `activity=` url parameter or update the current cache list by launching an existing activity in the launcher. Once you have completed the edits you can download the json and replace the file in the `src/public/launch-lists` folder. +At this point you can either add new activities by manually adding an `activity=` url parameter or update the current cache list by launching an existing activity from the offline activity list. Once you have completed the edits you can download the json and replace the file in the `src/public/offline-manifests` folder. -#### Exiting Launch List Authoring Mode +#### Exiting Offline Manifest Authoring Mode -Once you have completed authoring you can click on the "Exit Authoring" button in the authoring nav. This simply deletes the localstorage key set when the `setLaunchListAuthoringId=` query parameter was used. It **does not** delete the data stored during authoring mode. To delete that data (for the current launch list only) click the "Clear Authoring Data" button in the authoring nav. +Once you have completed authoring you can click on the "Exit Authoring" button in the authoring nav. This simply deletes the localstorage key set when the `setOfflineManifestAuthoringId=` query parameter was used. It **does not** delete the data stored during authoring mode. To delete that data (for the current offline manifest only) click the "Clear Authoring Data" button in the authoring nav. ## Models-Resources Proxying @@ -165,9 +165,9 @@ The Activity Player json loader code rewrites any urls it finds that fit the fol ### Offline Mode -The application can be placed in "offline" mode by specifying a `offline=true` query parameter. This currently causes a header nav to display and saves any launchList query parameter passed. In the future this flag will also control how student data is saved and sent to the portal. +The application can be placed in "offline" mode by specifying a `offline=true` query parameter. This currently causes a header nav to display. In the future this flag will also control how student data is saved and sent to the portal. -The installed PWA will use `/?offline=true` as its start_url in the `manifest.json` file. This will cause all desktop launches to run in offline mode. In order to use the PWA version a launch list must first be installed using the following combinations of query parameters: `?offline=true&launchList=`. An optional parameter of `confirmLaunchListInstall=true` can also be used to not auto close the loading dialog and instead show a message that everything is installed once all the assets are downloaded into the cache. The next launch of the PWA will use the last launchList value saved in localstorage if it is not found in the query string (which it won't be as it is always just `?offline-true`). +The installed PWA will use `/?offline=true` as its start_url in the `manifest.json` file. This will cause all desktop launches to run in offline mode. In order to use the PWA version an offline manifest must first be installed using the following combinations of query parameters: `?offline=true&offlineManifest=`. An optional parameter of `confirmOfflineManifestInstall=true` can also be used to not auto close the loading dialog and instead show a message that everything is installed once all the assets are downloaded into the cache. ## License diff --git a/cypress/integration/launch-list.test.ts b/cypress/integration/offline-manifest.test.ts similarity index 50% rename from cypress/integration/launch-list.test.ts rename to cypress/integration/offline-manifest.test.ts index 9fdcfaa8..0a8e3946 100644 --- a/cypress/integration/launch-list.test.ts +++ b/cypress/integration/offline-manifest.test.ts @@ -2,13 +2,13 @@ import ActivityPage from "../support/elements/activity-page"; const activityPage = new ActivityPage; -context("Test setting launch list authoring id in local storage", () => { +context("Test setting offline manifest authoring id in local storage", () => { - describe("setLaunchListAuthoringId",() => { + describe("setOfflineManifestAuthoringId",() => { it("verify id is set when query parameter is given",() => { - cy.visit("?setLaunchListAuthoringId=test-authoring-id"); + cy.visit("?setOfflineManifestAuthoringId=test-authoring-id"); cy.saveLocalStorage(); - activityPage.getLaunchListAuthoringNav().should("be.visible") + activityPage.getOfflineManifestAuthoringNav().should("be.visible") .and("contain", "test-authoring-id") .and("contain", "Download JSON") .and("contain", "Clear Authoring Data") @@ -18,38 +18,38 @@ context("Test setting launch list authoring id in local storage", () => { it("verify id is set on subsequent loads",() => { cy.restoreLocalStorage(); cy.visit(""); - activityPage.getLaunchListAuthoringNav().should("be.visible").and("contain", "test-authoring-id"); + activityPage.getOfflineManifestAuthoringNav().should("be.visible").and("contain", "test-authoring-id"); }); it("verify id is cleared when exit authoring is clicked",() => { cy.restoreLocalStorage(); cy.visit(""); - activityPage.getLaunchListAuthoringNav().should("be.visible").and("contain", "test-authoring-id"); - activityPage.getLaunchListExitAuthoringButton().should("be.visible"); - activityPage.getLaunchListExitAuthoringButton().click(); - activityPage.getLaunchListAuthoringNav({timeout: 0}).should("not.exist"); + activityPage.getOfflineManifestAuthoringNav().should("be.visible").and("contain", "test-authoring-id"); + activityPage.getOfflineManifestExitAuthoringButton().should("be.visible"); + activityPage.getOfflineManifestExitAuthoringButton().click(); + activityPage.getOfflineManifestAuthoringNav({timeout: 0}).should("not.exist"); }); }); }); -context("Test using launch lists", () => { +context("Test using offline manifests", () => { - describe("launchList",() => { - it("verify launch list if loaded when query parameter is given",() => { - cy.visit("?launchList=smoke-test"); + describe("offlineManifest",() => { + it("verify offline manifest is loaded when query parameter is given",() => { + cy.visit("?offlineManifest=smoke-test"); // verify loading dialog shows and then auto closes - activityPage.getLaunchListLoadingDialog().should("be.visible").and("contain", "AP Smoke Test"); + activityPage.getOfflineManifestLoadingDialog().should("be.visible").and("contain", "AP Smoke Test"); // verify offline activities list shows activityPage.getOfflineActivities().should("be.visible").and("contain", "AP Smoke Test"); }); it("verify offline activities show and clicking an item loads it",() => { - cy.visit("?launchList=smoke-test"); + cy.visit("?offlineManifest=smoke-test"); // verify clicking on activity loads it and closes the launcher - activityPage.getLaunchListLoadingDialog({timeout: 0}).should("not.exist"); + activityPage.getOfflineManifestLoadingDialog({timeout: 0}).should("not.exist"); activityPage.getOfflineActivityList().contains("AP Smoke Test").click(); activityPage.getActivityTitle().should("be.visible").and("contain", "AP Smoke Test"); }); diff --git a/cypress/support/elements/activity-page.js b/cypress/support/elements/activity-page.js index 0cb981f2..92f15c16 100644 --- a/cypress/support/elements/activity-page.js +++ b/cypress/support/elements/activity-page.js @@ -28,14 +28,14 @@ class ActivityPage { getModalDialogClose() { return cy.get("[data-cy=modal-dialog-close"); } - getLaunchListAuthoringNav(options) { - return cy.get("[data-cy=launch-list-authoring-nav", options); + getOfflineManifestAuthoringNav(options) { + return cy.get("[data-cy=offline-manifest-authoring-nav", options); } - getLaunchListExitAuthoringButton() { - return cy.get("[data-cy=launch-list-exit-authoring-button"); + getOfflineManifestExitAuthoringButton() { + return cy.get("[data-cy=offline-manifest-exit-authoring-button"); } - getLaunchListLoadingDialog(options) { - return cy.get("[data-cy=launch-list-loading-dialog", options); + getOfflineManifestLoadingDialog(options) { + return cy.get("[data-cy=offline-manifest-loading-modal", options); } getOfflineActivities(options) { return cy.get("[data-cy=offline-activities", options); diff --git a/cypress/support/index.js b/cypress/support/index.js index 30e044bc..2e69c11f 100644 --- a/cypress/support/index.js +++ b/cypress/support/index.js @@ -2,7 +2,7 @@ import "@cypress/code-coverage/support"; // add localstorage commands -import "cypress-localstorage-commands" +import "cypress-localstorage-commands"; Cypress.on("uncaught:exception", (err, runnable) => { // returning false here prevents Cypress from diff --git a/src/components/app.tsx b/src/components/app.tsx index 4a8dc3be..99a0a0aa 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -15,7 +15,7 @@ import { CompletionPageContent } from "./activity-completion/completion-page-con import { queryValue, queryValueBoolean } from "../utilities/url-query"; import { fetchPortalData, IPortalData, firebaseAppName } from "../portal-api"; import { Storage } from "../storage-facade"; -import { Activity, IEmbeddablePlugin, LaunchList, LaunchListActivity, Sequence } from "../types"; +import { Activity, IEmbeddablePlugin, OfflineManifest, OfflineManifestActivity, Sequence } from "../types"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; import { loadPluginScripts, getGlossaryEmbeddable, loadLearnerPluginState } from "../utilities/plugin-utils"; @@ -31,11 +31,11 @@ import { Logger, LogEventName } from "../lib/logger"; import { GlossaryPlugin } from "../components/activity-page/plugins/glossary-plugin"; import { IdleDetector } from "../utilities/idle-detector"; import { messageSW, Workbox } from "workbox-window"; -import { getLaunchList, getLaunchListAuthoringData, getLaunchListAuthoringId, LaunchListAuthoringData, mergeLaunchListWithAuthoringData, saveLaunchListToOfflineActivities, setLaunchListAuthoringData, setLaunchListAuthoringId } from "../launch-list-api"; -import { LaunchListLoadingDialog } from "./launch-list-loading-dialog"; +import { getOfflineManifest, getOfflineManifestAuthoringData, getOfflineManifestAuthoringId, OfflineManifestAuthoringData, mergeOfflineManifestWithAuthoringData, saveOfflineManifestToOfflineActivities, setOfflineManifestAuthoringData, setOfflineManifestAuthoringId } from "../offline-manifest-api"; +import { OfflineManifestLoadingModal } from "./offline-manifest-loading-modal"; import { OfflineActivities } from "./offline-activities"; import { OfflineNav } from "./offline-nav"; -import { LaunchListAuthoringNav } from "./launch-list-authoring-nav"; +import { OfflineManifestAuthoringNav } from "./offline-manifest-authoring-nav"; import "./app.scss"; @@ -58,8 +58,8 @@ interface IncompleteQuestion { interface IState { activity?: Activity; - launchList?: LaunchList; - loadingLaunchList: boolean; + offlineManifest?: OfflineManifest; + loadingOfflineManifest: boolean; currentPage: number; teacherEditionMode?: boolean; showThemeButtons?: boolean; @@ -76,11 +76,11 @@ interface IState { errorType: null | ErrorType; idle: boolean; offlineMode: boolean; - launchListId?: string; - launchListAuthoringId?: string; - launchListAuthoringActivities: LaunchListActivity[]; - launchListAuthoringCacheList: string[]; - showLaunchListInstallConfimation: boolean; + offlineManifestId?: string; + offlineManifestAuthoringId?: string; + offlineManifestAuthoringActivities: OfflineManifestActivity[]; + offlineManifestAuthoringCacheList: string[]; + showOfflineManifestInstallConfirmation: boolean; } interface IProps {} @@ -92,12 +92,12 @@ export class App extends React.PureComponent { public constructor(props: IProps) { super(props); - // set the launch list authoring localstorage item if it exists in the params and then read from localstorage + // set the offline manifest authoring localstorage item if it exists in the params and then read from localstorage // this is done in the constructor as the state value is needed in the UNSAFE_componentWillMount method - setLaunchListAuthoringId(queryValue("setLaunchListAuthoringId")); - const launchListAuthoringId = getLaunchListAuthoringId(); + setOfflineManifestAuthoringId(queryValue("setOfflineManifestAuthoringId")); + const offlineManifestAuthoringId = getOfflineManifestAuthoringId(); - const launchListId = queryValue("launchList"); + const offlineManifestId = queryValue("offlineManifest"); this.state = { currentPage: 0, @@ -111,13 +111,13 @@ export class App extends React.PureComponent { pluginsLoaded: false, errorType: null, idle: false, - loadingLaunchList: false, - offlineMode: (queryValue("offline") === "true") || !!launchListAuthoringId || !!launchListId, - launchListAuthoringActivities: [], - launchListAuthoringCacheList: [], - showLaunchListInstallConfimation: queryValue("confirmLaunchListInstall") === "true", - launchListAuthoringId, - launchListId + loadingOfflineManifest: false, + offlineMode: (queryValue("offline") === "true") || !!offlineManifestAuthoringId || !!offlineManifestId, + offlineManifestAuthoringActivities: [], + offlineManifestAuthoringCacheList: [], + showOfflineManifestInstallConfirmation: queryValue("confirmOfflineManifestInstall") === "true", + offlineManifestAuthoringId, + offlineManifestId }; } @@ -172,27 +172,27 @@ export class App extends React.PureComponent { } }); wb.addEventListener("message", (event) => { - const {launchListAuthoringId} = this.state; + const {offlineManifestAuthoringId} = this.state; switch (event.data.type) { case "CACHE_UPDATED": console.log(`A newer version of ${event.data.payload.updatedURL} is available!`); break; case "GET_REQUEST": - if (launchListAuthoringId) { + if (offlineManifestAuthoringId) { this.setState((prevState) => { // make sure all models-resources requests use the base folder const url = event.data.url.replace(/.*models-resources\//, "models-resources/"); - let {launchListAuthoringCacheList} = prevState; - const {launchListAuthoringActivities} = prevState; - if (!/api\/v1\/activities/.test(url) && (launchListAuthoringCacheList.indexOf(url) === -1)) { - launchListAuthoringCacheList = launchListAuthoringCacheList.concat(url); + let {offlineManifestAuthoringCacheList} = prevState; + const {offlineManifestAuthoringActivities} = prevState; + if (!/api\/v1\/activities/.test(url) && (offlineManifestAuthoringCacheList.indexOf(url) === -1)) { + offlineManifestAuthoringCacheList = offlineManifestAuthoringCacheList.concat(url); } - setLaunchListAuthoringData(launchListAuthoringId, { - activities: launchListAuthoringActivities, - cacheList: launchListAuthoringCacheList + setOfflineManifestAuthoringData(offlineManifestAuthoringId, { + activities: offlineManifestAuthoringActivities, + cacheList: offlineManifestAuthoringCacheList }); - return {...prevState, launchListAuthoringCacheList}; + return {...prevState, offlineManifestAuthoringCacheList}; }); } break; @@ -207,33 +207,32 @@ export class App extends React.PureComponent { async componentDidMount() { try { - const {launchListId, launchListAuthoringId} = this.state; + const {offlineManifestId, offlineManifestAuthoringId} = this.state; - let launchListAuthoringData: LaunchListAuthoringData | undefined; - if (launchListAuthoringId) { - launchListAuthoringData = getLaunchListAuthoringData(launchListAuthoringId); + let offlineManifestAuthoringData: OfflineManifestAuthoringData | undefined; + if (offlineManifestAuthoringId) { + offlineManifestAuthoringData = getOfflineManifestAuthoringData(offlineManifestAuthoringId); } - let launchList: LaunchList | undefined = undefined; - const loadingLaunchList = !!launchListId; - if (launchListId) { - launchList = await getLaunchList(launchListId); + let offlineManifest: OfflineManifest | undefined = undefined; + const loadingOfflineManifest = !!offlineManifestId; + if (offlineManifestId) { + offlineManifest = await getOfflineManifest(offlineManifestId); - // merge the launch list data into the saved data - if (launchList) { - if (launchListAuthoringId && launchListAuthoringData) { - launchListAuthoringData = mergeLaunchListWithAuthoringData(launchList, launchListAuthoringData); - setLaunchListAuthoringData(launchListAuthoringId, launchListAuthoringData); + if (offlineManifest) { + if (offlineManifestAuthoringId && offlineManifestAuthoringData) { + offlineManifestAuthoringData = mergeOfflineManifestWithAuthoringData(offlineManifest, offlineManifestAuthoringData); + setOfflineManifestAuthoringData(offlineManifestAuthoringId, offlineManifestAuthoringData); } - await saveLaunchListToOfflineActivities(launchList); + await saveOfflineManifestToOfflineActivities(offlineManifest); } } - if (launchListAuthoringData) { + if (offlineManifestAuthoringData) { this.setState({ - launchListAuthoringActivities: launchListAuthoringData.activities, - launchListAuthoringCacheList: launchListAuthoringData.cacheList + offlineManifestAuthoringActivities: offlineManifestAuthoringData.activities, + offlineManifestAuthoringCacheList: offlineManifestAuthoringData.cacheList }); } @@ -241,8 +240,8 @@ export class App extends React.PureComponent { const activityPath = queryValue("activity") || (this.state.offlineMode ? undefined : kDefaultActivity); if (activityPath) { activity = await getActivityDefinition(activityPath); - if (launchListAuthoringId) { - this.addActivityToLaunchList(launchListAuthoringId, activity, activityPath); + if (offlineManifestAuthoringId) { + this.addActivityToOfflineManifest(offlineManifestAuthoringId, activity, activityPath); } } @@ -261,7 +260,7 @@ export class App extends React.PureComponent { // Teacher Edition mode is equal to preview mode. RunKey won't be used and the data won't be persisted. const preview = queryValueBoolean("preview") || teacherEditionMode; - const newState: Partial = {activity, launchList, loadingLaunchList, currentPage, showThemeButtons, showWarning, showSequenceIntro, sequence, teacherEditionMode, launchListAuthoringId}; + const newState: Partial = {activity, offlineManifest, loadingOfflineManifest, currentPage, showThemeButtons, showWarning, showSequenceIntro, sequence, teacherEditionMode, offlineManifestAuthoringId}; setDocumentTitle(activity, currentPage); let classHash = ""; @@ -338,11 +337,11 @@ export class App extends React.PureComponent {
    { this.state.showWarning && } { this.state.teacherEditionMode && } - { this.state.launchListAuthoringId && } { showOfflineNav && } @@ -361,9 +360,9 @@ export class App extends React.PureComponent { } private renderContent = () => { - const {launchList, loadingLaunchList, showSequenceIntro, sequence, username, offlineMode, showLaunchListInstallConfimation, activity} = this.state; - if (launchList && loadingLaunchList) { - return ; + const {offlineManifest, loadingOfflineManifest, showSequenceIntro, sequence, username, offlineMode, showOfflineManifestInstallConfirmation, activity} = this.state; + if (offlineManifest && loadingOfflineManifest) { + return ; } else if (offlineMode) { return activity ? this.renderActivity() : ; } else if (showSequenceIntro) { @@ -620,40 +619,40 @@ export class App extends React.PureComponent { this.setState({ pluginsLoaded: true }); } - private handleCloseLoadingLaunchList = () => { - this.setState({loadingLaunchList: false}); + private handleCloseLoadingOfflineManifest = () => { + this.setState({loadingOfflineManifest: false}); } - private addActivityToLaunchList = (launchListAuthoringId: string, activity: Activity, url: string) => { + private addActivityToOfflineManifest = (offlineManifestAuthoringId: string, activity: Activity, url: string) => { const isExternalUrl = /https?:\/\//.test(url); // test for internal demo files - if (launchListAuthoringId && isExternalUrl) { + if (offlineManifestAuthoringId && isExternalUrl) { this.setState(prevState => { - let {launchListAuthoringActivities} = prevState; - const {launchListAuthoringCacheList} = prevState; + let {offlineManifestAuthoringActivities} = prevState; + const {offlineManifestAuthoringCacheList} = prevState; getAllUrlsInActivity(activity).forEach(urlInActivity => { - if (launchListAuthoringCacheList.indexOf(urlInActivity) === -1) { - launchListAuthoringCacheList.push(urlInActivity); + if (offlineManifestAuthoringCacheList.indexOf(urlInActivity) === -1) { + offlineManifestAuthoringCacheList.push(urlInActivity); } }); - if (!prevState.launchListAuthoringActivities.find(a => a.url === url)) { - launchListAuthoringActivities = launchListAuthoringActivities.concat({ name: activity.name, url }); - setLaunchListAuthoringData(launchListAuthoringId, { - activities: launchListAuthoringActivities, - cacheList: launchListAuthoringCacheList + if (!prevState.offlineManifestAuthoringActivities.find(a => a.url === url)) { + offlineManifestAuthoringActivities = offlineManifestAuthoringActivities.concat({ name: activity.name, url }); + setOfflineManifestAuthoringData(offlineManifestAuthoringId, { + activities: offlineManifestAuthoringActivities, + cacheList: offlineManifestAuthoringCacheList }); } - return {launchListAuthoringActivities, launchListAuthoringCacheList}; + return {offlineManifestAuthoringActivities, offlineManifestAuthoringCacheList}; }); } } private handleSelectOfflineActivity = (selectedActivity: Activity, url: string) => { this.setState({ activity: selectedActivity }); - if (this.state.launchListAuthoringId) { - this.addActivityToLaunchList(this.state.launchListAuthoringId, selectedActivity, url); + if (this.state.offlineManifestAuthoringId) { + this.addActivityToOfflineManifest(this.state.offlineManifestAuthoringId, selectedActivity, url); } } diff --git a/src/components/launch-list-authoring-nav.tsx b/src/components/launch-list-authoring-nav.tsx deleted file mode 100644 index 73dbec77..00000000 --- a/src/components/launch-list-authoring-nav.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import React from "react"; -import { clearLaunchListAuthoringData, clearLaunchListAuthoringId, getLaunchListAuthoringDownloadJSON } from "../launch-list-api"; -import { LaunchList, LaunchListActivity } from "../types"; -import queryString from "query-string"; - -import "./launch-list-authoring-nav.scss"; - -interface IProps { - launchList?: LaunchList; - launchListAuthoringId: string; - launchListAuthoringActivities: LaunchListActivity[], - launchListAuthoringCacheList: string[], -} - -export class LaunchListAuthoringNav extends React.PureComponent { - render() { - const { launchList, launchListAuthoringId, launchListAuthoringActivities, launchListAuthoringCacheList } = this.props; - - const handleDownloadClicked = (e: React.MouseEvent) => { - const json = getLaunchListAuthoringDownloadJSON( - launchList?.name ?? "Untitled Launch List", - {activities: launchListAuthoringActivities, cacheList: launchListAuthoringCacheList.slice().sort()} - ); - const blob = new Blob([ JSON.stringify(json, null, 2) ], { type: "application/json" }); - e.currentTarget.href = URL.createObjectURL(blob); - }; - - const handleClearAuthoringId = () => { - if (confirm("Exit authoring (clears the launch list authoring id in localstorage)?")) { - clearLaunchListAuthoringId(); - const query = queryString.parse(window.location.search); - delete query.setLaunchListAuthoringId; - window.location.replace(`?${queryString.stringify(query)}`); - } - }; - - const handleClearAuthoringData = () => { - if (confirm("Are your SURE you want to clear ALL the saved authoring data?")) { - clearLaunchListAuthoringData(launchListAuthoringId); - window.location.reload(); - } - }; - - return ( -
    -
    -
    - Authoring: "{launchListAuthoringId}" ({launchListAuthoringActivities.length} activities / {launchListAuthoringCacheList.length} cached items) -
    -
    - Download JSON - - -
    -
    -
    - ); - } -} diff --git a/src/components/offline-activities.tsx b/src/components/offline-activities.tsx index 43f905a3..60f8b7e7 100644 --- a/src/components/offline-activities.tsx +++ b/src/components/offline-activities.tsx @@ -1,6 +1,6 @@ import React from "react"; import { getActivityDefinition } from "../lara-api"; -import { getOfflineActivities } from "../launch-list-api"; +import { getOfflineActivities } from "../offline-manifest-api"; import { Activity, OfflineActivity } from "../types"; import { Header } from "./activity-header/header"; diff --git a/src/components/launch-list-authoring-nav.scss b/src/components/offline-manifest-authoring-nav.scss similarity index 94% rename from src/components/launch-list-authoring-nav.scss rename to src/components/offline-manifest-authoring-nav.scss index 200dcd70..53954b59 100644 --- a/src/components/launch-list-authoring-nav.scss +++ b/src/components/offline-manifest-authoring-nav.scss @@ -1,6 +1,6 @@ @import "./vars.scss"; -.launch-list-authoring-nav { +.offline-manifest-authoring-nav { height: 60px; width: 100%; margin-bottom: 3px; diff --git a/src/components/offline-manifest-authoring-nav.tsx b/src/components/offline-manifest-authoring-nav.tsx new file mode 100644 index 00000000..4a0bbf1c --- /dev/null +++ b/src/components/offline-manifest-authoring-nav.tsx @@ -0,0 +1,59 @@ +import React from "react"; +import { clearOfflineManifestAuthoringData, clearOfflineManifestAuthoringId, getOfflineManifestAuthoringDownloadJSON } from "../offline-manifest-api"; +import { OfflineManifest, OfflineManifestActivity } from "../types"; +import queryString from "query-string"; + +import "./offline-manifest-authoring-nav.scss"; + +interface IProps { + offlineManifest?: OfflineManifest; + offlineManifestAuthoringId: string; + offlineManifestAuthoringActivities: OfflineManifestActivity[], + offlineManifestAuthoringCacheList: string[], +} + +export class OfflineManifestAuthoringNav extends React.PureComponent { + render() { + const { offlineManifest, offlineManifestAuthoringId, offlineManifestAuthoringActivities, offlineManifestAuthoringCacheList } = this.props; + + const handleDownloadClicked = (e: React.MouseEvent) => { + const json = getOfflineManifestAuthoringDownloadJSON( + offlineManifest?.name ?? "Untitled Offline Manifest", + {activities: offlineManifestAuthoringActivities, cacheList: offlineManifestAuthoringCacheList.slice().sort()} + ); + const blob = new Blob([ JSON.stringify(json, null, 2) ], { type: "application/json" }); + e.currentTarget.href = URL.createObjectURL(blob); + }; + + const handleClearAuthoringId = () => { + if (confirm("Exit authoring (clears the offline manifest authoring id in localstorage)?")) { + clearOfflineManifestAuthoringId(); + const query = queryString.parse(window.location.search); + delete query.setOfflineManifestAuthoringId; + window.location.replace(`?${queryString.stringify(query)}`); + } + }; + + const handleClearAuthoringData = () => { + if (confirm("Are your SURE you want to clear ALL the saved authoring data?")) { + clearOfflineManifestAuthoringData(offlineManifestAuthoringId); + window.location.reload(); + } + }; + + return ( +
    +
    +
    + Authoring: "{offlineManifestAuthoringId}" ({offlineManifestAuthoringActivities.length} activities / {offlineManifestAuthoringCacheList.length} cached items) +
    +
    + Download JSON + + +
    +
    +
    + ); + } +} diff --git a/src/components/launch-list-loading-dialog.scss b/src/components/offline-manifest-loading-modal.scss similarity index 94% rename from src/components/launch-list-loading-dialog.scss rename to src/components/offline-manifest-loading-modal.scss index f67b6c90..0773b95b 100644 --- a/src/components/launch-list-loading-dialog.scss +++ b/src/components/offline-manifest-loading-modal.scss @@ -1,4 +1,4 @@ -.launch-list-loading-dialog { +.offline-manifest-loading-modal { position: fixed; top: 0; right: 0; diff --git a/src/components/launch-list-loading-dialog.tsx b/src/components/offline-manifest-loading-modal.tsx similarity index 72% rename from src/components/launch-list-loading-dialog.tsx rename to src/components/offline-manifest-loading-modal.tsx index ad5d62b1..935133b3 100644 --- a/src/components/launch-list-loading-dialog.tsx +++ b/src/components/offline-manifest-loading-modal.tsx @@ -1,13 +1,13 @@ import React from "react"; -import { cacheLaunchList } from "../launch-list-api"; -import { LaunchList } from "../types"; +import { cacheOfflineManifest } from "../offline-manifest-api"; +import { OfflineManifest } from "../types"; -import "./launch-list-loading-dialog.scss"; +import "./offline-manifest-loading-modal.scss"; interface IProps { - launchList: LaunchList; + offlineManifest: OfflineManifest; onClose: () => void; - showLaunchListInstallConfimation: boolean; + showOfflineManifestInstallConfirmation: boolean; } interface IState { @@ -17,7 +17,7 @@ interface IState { caching: boolean; } -export class LaunchListLoadingDialog extends React.Component { +export class OfflineManifestLoadingModal extends React.Component { constructor(props: IProps) { super(props); @@ -30,10 +30,10 @@ export class LaunchListLoadingDialog extends React.Component { } componentDidMount() { - const { launchList } = this.props; + const { offlineManifest } = this.props; - cacheLaunchList({ - launchList, + cacheOfflineManifest({ + offlineManifest, onCachingStarted: (urls) => { this.setState({urlsToCache: urls}); }, @@ -60,21 +60,21 @@ export class LaunchListLoadingDialog extends React.Component { checkForAutoClose(props: IProps) { const {caching, urlsFailedToCache} = this.state; - const {showLaunchListInstallConfimation} = this.props; - if (!caching && (urlsFailedToCache.length === 0) && !showLaunchListInstallConfimation) { + const {showOfflineManifestInstallConfirmation} = this.props; + if (!caching && (urlsFailedToCache.length === 0) && !showOfflineManifestInstallConfirmation) { // allow the final render setTimeout(() => props.onClose(), 0); } } renderCaching() { - const { launchList } = this.props; + const { offlineManifest } = this.props; const { urlsToCache, urlsCached, urlsFailedToCache} = this.state; return ( <>
    - Loading {launchList.name} assets... + Loading {offlineManifest.name} assets...
    {urlsCached.length + urlsFailedToCache.length} of {urlsToCache.length} @@ -85,14 +85,14 @@ export class LaunchListLoadingDialog extends React.Component { } renderDoneCaching() { - const { launchList } = this.props; + const { offlineManifest } = this.props; const numFailedUrls = this.state.urlsFailedToCache.length; const message = numFailedUrls === 0 ? "loading" : "attempting to load"; return ( <>
    - Finished {message} {launchList.name} assets + Finished {message} {offlineManifest.name} assets
    {numFailedUrls > 0 ? @@ -109,7 +109,7 @@ export class LaunchListLoadingDialog extends React.Component { render() { const { caching } = this.state; return ( -
    +
    {caching ? this.renderCaching() : this.renderDoneCaching()} diff --git a/src/launch-list-api.ts b/src/launch-list-api.ts deleted file mode 100644 index e0f1735a..00000000 --- a/src/launch-list-api.ts +++ /dev/null @@ -1,131 +0,0 @@ -import { DexieStorage } from "./dexie-storage"; -import { LaunchList, LaunchListActivity } from "./types"; - -const dexie = new DexieStorage(); -export interface LaunchListAuthoringData { - activities: LaunchListActivity[]; - cacheList: string[] -} - -export const getLaunchListUrl = (launchListId: string): string => { - if (/^\s*https?:\/\//.test(launchListId)) { - return launchListId; - } - return `launch-lists/${launchListId}.json`; -}; - -export const getLaunchList = (launchListId: string): Promise => { - return new Promise((resolve, reject) => { - const launchListUrl = getLaunchListUrl(launchListId); - fetch(launchListUrl) - .then(response => { - if (response.status !== 200) { - reject(`Errored fetching ${launchListUrl}. Status Code: ${response.status}`); - return; - } - response.json().then(function(data) { - resolve(data); - }); - }) - .catch(function(err) { - reject(`Errored fetching ${launchListUrl}. ${err}`); - }); - }); -}; - -export interface cacheLaunchListOptions { - launchList: LaunchList; - onCachingStarted: (urls: string[]) => void; - onUrlCached: (url: string) => void; - onUrlCacheFailed: (url: string, err: any) => void; - onAllUrlsCached: () => void; - onAllUrlsCacheFailed: (errs: any) => void; -} - -export const cacheLaunchList = (options: cacheLaunchListOptions) => { - const {launchList, onCachingStarted, onUrlCached, onUrlCacheFailed, onAllUrlsCached, onAllUrlsCacheFailed} = options; - const urls = launchList.activities.map(a => a.url).concat(launchList.cacheList); - const loadingPromises = urls.map(url => { - return fetch(url, {mode: "no-cors"}) - .then(() => onUrlCached(url)) - .catch(err => onUrlCacheFailed(url, err)); - }); - onCachingStarted(urls); - return Promise.all(loadingPromises) - .then(() => onAllUrlsCached()) - .catch(err => onAllUrlsCacheFailed(err)); -}; - -export const LaunchListAuthoringIdKey = "launchListAuthoringId"; -export const LaunchListAuthoringDataKeyPrefix = "launchListAuthoringData:"; - -export const setLaunchListAuthoringId = (value: string | undefined) => { - if (value !== undefined) { - window.localStorage.setItem(LaunchListAuthoringIdKey, value); - } -}; - -export const clearLaunchListAuthoringId = () => { - window.localStorage.removeItem(LaunchListAuthoringIdKey); -}; - -export const getLaunchListAuthoringId = (): string|undefined => { - return window.localStorage.getItem(LaunchListAuthoringIdKey) || undefined; -}; - -export const getLaunchListAuthoringData = (authoringId: string): LaunchListAuthoringData => { - try { - const key = `${LaunchListAuthoringDataKeyPrefix}:${authoringId}`; - return JSON.parse(window.localStorage.getItem(key) || "fail"); - } catch (e) { - return ({ - activities: [], - cacheList: [] - }); - } -}; - -export const setLaunchListAuthoringData = (authoringId: string, data: LaunchListAuthoringData) => { - const key = `${LaunchListAuthoringDataKeyPrefix}:${authoringId}`; - window.localStorage.setItem(key, JSON.stringify(data)); -}; - -export const clearLaunchListAuthoringData = (authoringId: string) => { - const key = `${LaunchListAuthoringDataKeyPrefix}:${authoringId}`; - window.localStorage.removeItem(key); -}; - -export const getLaunchListAuthoringDownloadJSON = (name: string, data: LaunchListAuthoringData): LaunchList => { - const {activities, cacheList} = data; - return { name, activities, cacheList }; -}; - -export const mergeLaunchListWithAuthoringData = (launchList: LaunchList, authoringData: LaunchListAuthoringData) => { - const {activities, cacheList} = authoringData; - launchList.activities.forEach(activity => { - if (!activities.find(a => a.url === activity.url)) { - activities.push(activity); - } - }); - launchList.cacheList.forEach(url => { - if (!cacheList.find(item => item === url)) { - cacheList.push(url); - } - }); - return {activities, cacheList}; -}; - -export const saveLaunchListToOfflineActivities = async (launchList: LaunchList) => { - const promises = launchList.activities.map(async (launchListActivity) => { - const {name, url} = launchListActivity; - const offlineActivity = await dexie.offlineActivities.get({url}); - if (offlineActivity) { - await dexie.offlineActivities.update(url, {name, url}); - } else { - await dexie.offlineActivities.put({name, url}); - } - }); - await Promise.all(promises); -}; - -export const getOfflineActivities = async () => await dexie.offlineActivities.toArray(); diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts new file mode 100644 index 00000000..5065f072 --- /dev/null +++ b/src/offline-manifest-api.ts @@ -0,0 +1,131 @@ +import { DexieStorage } from "./dexie-storage"; +import { OfflineManifest, OfflineManifestActivity } from "./types"; + +const dexie = new DexieStorage(); +export interface OfflineManifestAuthoringData { + activities: OfflineManifestActivity[]; + cacheList: string[] +} + +export const getOfflineManifestUrl = (id: string): string => { + if (/^\s*https?:\/\//.test(id)) { + return id; + } + return `offline-manifests/${id}.json`; +}; + +export const getOfflineManifest = (id: string): Promise => { + return new Promise((resolve, reject) => { + const url = getOfflineManifestUrl(id); + fetch(url) + .then(response => { + if (response.status !== 200) { + reject(`Errored fetching ${url}. Status Code: ${response.status}`); + return; + } + response.json().then(function(data) { + resolve(data); + }); + }) + .catch(function(err) { + reject(`Errored fetching ${url}. ${err}`); + }); + }); +}; + +export interface CacheOfflineManifestOptions { + offlineManifest: OfflineManifest; + onCachingStarted: (urls: string[]) => void; + onUrlCached: (url: string) => void; + onUrlCacheFailed: (url: string, err: any) => void; + onAllUrlsCached: () => void; + onAllUrlsCacheFailed: (errs: any) => void; +} + +export const cacheOfflineManifest = (options: CacheOfflineManifestOptions) => { + const {offlineManifest, onCachingStarted, onUrlCached, onUrlCacheFailed, onAllUrlsCached, onAllUrlsCacheFailed} = options; + const urls = offlineManifest.activities.map(a => a.url).concat(offlineManifest.cacheList); + const loadingPromises = urls.map(url => { + return fetch(url, {mode: "no-cors"}) + .then(() => onUrlCached(url)) + .catch(err => onUrlCacheFailed(url, err)); + }); + onCachingStarted(urls); + return Promise.all(loadingPromises) + .then(() => onAllUrlsCached()) + .catch(err => onAllUrlsCacheFailed(err)); +}; + +export const OfflineManifestAuthoringIdKey = "offlineManifestAuthoringId"; +export const OfflineManifestAuthoringDataKeyPrefix = "offlineManifestAuthoringData:"; + +export const setOfflineManifestAuthoringId = (value: string | undefined) => { + if (value !== undefined) { + window.localStorage.setItem(OfflineManifestAuthoringIdKey, value); + } +}; + +export const clearOfflineManifestAuthoringId = () => { + window.localStorage.removeItem(OfflineManifestAuthoringIdKey); +}; + +export const getOfflineManifestAuthoringId = (): string|undefined => { + return window.localStorage.getItem(OfflineManifestAuthoringIdKey) || undefined; +}; + +export const getOfflineManifestAuthoringData = (authoringId: string): OfflineManifestAuthoringData => { + try { + const key = `${OfflineManifestAuthoringDataKeyPrefix}:${authoringId}`; + return JSON.parse(window.localStorage.getItem(key) || "fail"); + } catch (e) { + return ({ + activities: [], + cacheList: [] + }); + } +}; + +export const setOfflineManifestAuthoringData = (authoringId: string, data: OfflineManifestAuthoringData) => { + const key = `${OfflineManifestAuthoringDataKeyPrefix}:${authoringId}`; + window.localStorage.setItem(key, JSON.stringify(data)); +}; + +export const clearOfflineManifestAuthoringData = (authoringId: string) => { + const key = `${OfflineManifestAuthoringDataKeyPrefix}:${authoringId}`; + window.localStorage.removeItem(key); +}; + +export const getOfflineManifestAuthoringDownloadJSON = (name: string, data: OfflineManifestAuthoringData): OfflineManifest => { + const {activities, cacheList} = data; + return { name, activities, cacheList }; +}; + +export const mergeOfflineManifestWithAuthoringData = (offlineManifest: OfflineManifest, authoringData: OfflineManifestAuthoringData) => { + const {activities, cacheList} = authoringData; + offlineManifest.activities.forEach(activity => { + if (!activities.find(a => a.url === activity.url)) { + activities.push(activity); + } + }); + offlineManifest.cacheList.forEach(url => { + if (!cacheList.find(item => item === url)) { + cacheList.push(url); + } + }); + return {activities, cacheList}; +}; + +export const saveOfflineManifestToOfflineActivities = async (offlineManifest: OfflineManifest) => { + const promises = offlineManifest.activities.map(async (offlineManifestActivity) => { + const {name, url} = offlineManifestActivity; + const offlineActivity = await dexie.offlineActivities.get({url}); + if (offlineActivity) { + await dexie.offlineActivities.update(url, {name, url}); + } else { + await dexie.offlineActivities.put({name, url}); + } + }); + await Promise.all(promises); +}; + +export const getOfflineActivities = async () => await dexie.offlineActivities.toArray(); diff --git a/src/public/launch-lists/smoke-test.json b/src/public/offline-manifests/smoke-test.json similarity index 100% rename from src/public/launch-lists/smoke-test.json rename to src/public/offline-manifests/smoke-test.json diff --git a/src/types.ts b/src/types.ts index b32feffa..0c3247a7 100644 --- a/src/types.ts +++ b/src/types.ts @@ -264,16 +264,16 @@ export interface IAnonymousLearnerPluginState extends IAnonymousMetadataPartial state: string; } -export interface LaunchListActivity { +export interface OfflineManifestActivity { name: string; url: string; } -export interface LaunchList { +export interface OfflineManifest { name: string - activities: LaunchListActivity[]; + activities: OfflineManifestActivity[]; cacheList: string[] } -export interface OfflineActivity extends LaunchListActivity { +export interface OfflineActivity extends OfflineManifestActivity { // TBD: add class info once that is figured out -} \ No newline at end of file +} From 1a0a00a09d00ee5db1fba3317ff21d1274678be0 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 22 Feb 2021 14:38:05 -0500 Subject: [PATCH 020/242] Saving and Loading student answers from indexedDB * Moved some general interfaces out of FireStore * Implemented `createOrUpdateAnswer` and `watchAnswer` methods using Dixie [#176982423] -- Saving offline Documents of student work --- src/firebase-db.ts | 23 ++++-------------- src/storage-facade.ts | 54 +++++++++++++++++++++++++++++++++++++------ 2 files changed, 52 insertions(+), 25 deletions(-) diff --git a/src/firebase-db.ts b/src/firebase-db.ts index 958eb804..f5f38959 100644 --- a/src/firebase-db.ts +++ b/src/firebase-db.ts @@ -16,6 +16,7 @@ import { refIdToAnswersQuestionId } from "./utilities/embeddable-utils"; import { IExportableAnswerMetadata, LTIRuntimeAnswerMetadata, AnonymousRuntimeAnswerMetadata, IAuthenticatedLearnerPluginState, IAnonymousLearnerPluginState } from "./types"; import { queryValueBoolean } from "./utilities/url-query"; import { RequestTracker } from "./utilities/request-tracker"; +import { docToWrappedAnswer, WrappedDBAnswer } from "./storage-facade"; export type FirebaseAppName = "report-service-dev" | "report-service-pro"; @@ -27,10 +28,7 @@ const answersPath = (answerId?: string) => const learnerPluginStatePath = (docId: string) => `sources/${portalData?.database.sourceKey}/plugin_states/${docId}`; -export interface WrappedDBAnswer { - meta: IExportableAnswerMetadata; - interactiveState: any; -} + export type DBChangeListener = (wrappedDBAnswer: WrappedDBAnswer | null) => void; interface IConfig { @@ -182,18 +180,7 @@ const watchAnswerDocs = (listener: DocumentsListener, questionId?: string) => { }); }; -const firestoreDocToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { - const getInteractiveState = () => { - const reportState = JSON.parse(doc.report_state); - return JSON.parse(reportState.interactiveState); - }; - const interactiveState = getInteractiveState(); - const wrappedAnswer: WrappedDBAnswer = { - meta: doc as IExportableAnswerMetadata, - interactiveState - }; - return wrappedAnswer; -}; + // Watches ONE question answer defined by embeddableRefId. export const watchAnswer = (embeddableRefId: string, callback: (wrappedAnswer: WrappedDBAnswer | null) => void) => { @@ -210,7 +197,7 @@ export const watchAnswer = (embeddableRefId: string, callback: (wrappedAnswer: W "ActivityPlayer versions. Your data might be corrupted." ); } - callback(firestoreDocToWrappedAnswer(answers[0])); + callback(docToWrappedAnswer(answers[0])); }, questionId); // limit observer to single question }; @@ -218,7 +205,7 @@ export const watchAnswer = (embeddableRefId: string, callback: (wrappedAnswer: W export const watchAllAnswers = (callback: (wrappedAnswer: WrappedDBAnswer[]) => void) => { // Note that watchAnswerDocs returns unsubscribe method. return watchAnswerDocs((answers: firebase.firestore.DocumentData[]) => { - callback(answers.map(doc => firestoreDocToWrappedAnswer(doc))); + callback(answers.map(doc => docToWrappedAnswer(doc))); }); }; diff --git a/src/storage-facade.ts b/src/storage-facade.ts index cccd9785..58e2a7f2 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -3,10 +3,30 @@ import * as FirebaseImp from "./firebase-db"; import { IAnonymousPortalData, IPortalData } from "./portal-api"; import { IExportableAnswerMetadata } from "./types"; import {DexieStorage} from "./dexie-storage"; - +import { refIdToAnswersQuestionId } from "./utilities/embeddable-utils"; export interface IStorageInitializer { name: FirebaseImp.FirebaseAppName, preview: boolean } +export interface WrappedDBAnswer { + meta: IExportableAnswerMetadata; + interactiveState: any; +} + +export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { + const getInteractiveState = () => { + const reportState = JSON.parse(doc.report_state); + const returnObject = JSON.parse(reportState.interactiveState); + console.log(`C&N: ----- firestore:`); + console.dir(returnObject); + return returnObject; + }; + const interactiveState = getInteractiveState(); + const wrappedAnswer: WrappedDBAnswer = { + meta: doc as IExportableAnswerMetadata, + interactiveState + }; + return wrappedAnswer; +}; export interface StorageInterface { // These seem to be FireStore specific: onFirestoreSaveTimeout: (handler: () => void) => void, @@ -21,8 +41,8 @@ export interface StorageInterface { setAnonymousPortalData: (_portalData: IAnonymousPortalData) => void, // These are directly related to storing student answers and fetching them back - watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: FirebaseImp.WrappedDBAnswer | null) => void): () => void - watchAllAnswers: (callback: (wrappedAnswer: FirebaseImp.WrappedDBAnswer[]) => void) => void, + watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: WrappedDBAnswer | null) => void): () => void + watchAllAnswers: (callback: (wrappedAnswer: WrappedDBAnswer[]) => void) => void, createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => void, getLearnerPluginStateDocId: (pluginId: number) => string|undefined, getCachedLearnerPluginState: (pluginId: number) => string|null, @@ -45,8 +65,10 @@ const FireStoreStorageProvider: StorageInterface = { setAnonymousPortalData: (_portalData: IAnonymousPortalData) => FirebaseImp.setAnonymousPortalData(_portalData), // Saving and Loading student work - watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: FirebaseImp.WrappedDBAnswer | null) => void) => FirebaseImp.watchAnswer(embeddableRefId, callback), - watchAllAnswers: (callback: (wrappedAnswer: FirebaseImp.WrappedDBAnswer[]) => void) => FirebaseImp.watchAllAnswers(callback), + watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: WrappedDBAnswer | null) => void) => FirebaseImp.watchAnswer(embeddableRefId, callback), + watchAllAnswers: (callback: (wrappedAnswer: WrappedDBAnswer[]) => void) => FirebaseImp.watchAllAnswers(callback), + + // Save an answer to Firebase createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => FirebaseImp.createOrUpdateAnswer(answer), getLearnerPluginStateDocId: (pluginId: number) => FirebaseImp.getLearnerPluginStateDocId(pluginId), getCachedLearnerPluginState: (pluginId: number) => FirebaseImp.getCachedLearnerPluginState(pluginId), @@ -59,11 +81,29 @@ const FireStoreStorageProvider: StorageInterface = { const indexDBConnection = new DexieStorage(); const DexieStorageProvider = {...FireStoreStorageProvider, + createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => { console.dir(answer); indexDBConnection.answers.put(answer); - // TODO: Return the correct type. For now we call through to Firebase - return FirebaseImp.createOrUpdateAnswer(answer); + }, + + watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: WrappedDBAnswer | null) => void) => { + const questionId = refIdToAnswersQuestionId(embeddableRefId); + const getAnswerFromIndexDB = (qID: string) => { + const foundAnswers = indexDBConnection + .answers + .where("question_id") + .equals(qID).toArray(); + return foundAnswers.then( (answers) => { + return answers[0]; + }); + }; + + getAnswerFromIndexDB(questionId).then( (answer: IExportableAnswerMetadata|null) => { + if(answer){ + callback(docToWrappedAnswer(answer)); + } + }); } }; From 179db814197bcc33f80bdc7d65258e4826139ab3 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 22 Feb 2021 14:51:38 -0500 Subject: [PATCH 021/242] [#176982423] remove some console noise removed some `console.log` noise Part of: [#176982423] -- Saving offline Documents of student work --- src/storage-facade.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/storage-facade.ts b/src/storage-facade.ts index 58e2a7f2..be029f77 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -16,10 +16,9 @@ export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { const getInteractiveState = () => { const reportState = JSON.parse(doc.report_state); const returnObject = JSON.parse(reportState.interactiveState); - console.log(`C&N: ----- firestore:`); - console.dir(returnObject); return returnObject; }; + const interactiveState = getInteractiveState(); const wrappedAnswer: WrappedDBAnswer = { meta: doc as IExportableAnswerMetadata, @@ -27,6 +26,7 @@ export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { }; return wrappedAnswer; }; + export interface StorageInterface { // These seem to be FireStore specific: onFirestoreSaveTimeout: (handler: () => void) => void, From b9d9058a32af0cec1e08e3bcb4394a80ebe95ae5 Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Mon, 22 Feb 2021 17:16:06 -0500 Subject: [PATCH 022/242] Track the Activity source in IndexedDB answers and rename WrappedDBAnswer => IWrappedDBAnswer because it's an interface --- src/components/app.tsx | 3 ++- src/dexie-storage.ts | 9 +++++---- src/firebase-db.ts | 8 ++++---- src/storage-facade.ts | 34 ++++++++++++++++++++++------------ 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 99a0a0aa..3be0ebec 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -14,8 +14,8 @@ import { WarningBanner } from "./warning-banner"; import { CompletionPageContent } from "./activity-completion/completion-page-content"; import { queryValue, queryValueBoolean } from "../utilities/url-query"; import { fetchPortalData, IPortalData, firebaseAppName } from "../portal-api"; -import { Storage } from "../storage-facade"; import { Activity, IEmbeddablePlugin, OfflineManifest, OfflineManifestActivity, Sequence } from "../types"; +import { Storage, SetCurrentActivityId } from "../storage-facade"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; import { loadPluginScripts, getGlossaryEmbeddable, loadLearnerPluginState } from "../utilities/plugin-utils"; @@ -239,6 +239,7 @@ export class App extends React.PureComponent { let activity: Activity | undefined = undefined; const activityPath = queryValue("activity") || (this.state.offlineMode ? undefined : kDefaultActivity); if (activityPath) { + SetCurrentActivityId(activityPath); activity = await getActivityDefinition(activityPath); if (offlineManifestAuthoringId) { this.addActivityToOfflineManifest(offlineManifestAuthoringId, activity, activityPath); diff --git a/src/dexie-storage.ts b/src/dexie-storage.ts index 4cc1228a..c6b0a5a0 100644 --- a/src/dexie-storage.ts +++ b/src/dexie-storage.ts @@ -1,18 +1,19 @@ import Dexie from "dexie"; -import { OfflineActivity, IExportableAnswerMetadata } from "./types"; +import { OfflineActivity } from "./types"; +import { IIndexedDBAnswer } from "./storage-facade"; // Copy and pasted from the example: https://dexie.org/docs/Typescript export class DexieStorage extends Dexie { // Declare implicit table properties. // (just to inform Typescript. Instantiated by Dexie in stores() method) - answers: Dexie.Table; // number = type of the primkey offlineActivities: Dexie.Table; + answers: Dexie.Table; // number = type of the primkey //...other tables goes here... constructor () { super("ActivityPlayer"); - this.version(2).stores({ - answers: "id, question_id, question_type", + this.version(4).stores({ + answers: "id, question_id, activity", //...other tables goes here... }); this.version(3).stores({ diff --git a/src/firebase-db.ts b/src/firebase-db.ts index f5f38959..91203158 100644 --- a/src/firebase-db.ts +++ b/src/firebase-db.ts @@ -16,7 +16,7 @@ import { refIdToAnswersQuestionId } from "./utilities/embeddable-utils"; import { IExportableAnswerMetadata, LTIRuntimeAnswerMetadata, AnonymousRuntimeAnswerMetadata, IAuthenticatedLearnerPluginState, IAnonymousLearnerPluginState } from "./types"; import { queryValueBoolean } from "./utilities/url-query"; import { RequestTracker } from "./utilities/request-tracker"; -import { docToWrappedAnswer, WrappedDBAnswer } from "./storage-facade"; +import { docToWrappedAnswer, IWrappedDBAnswer } from "./storage-facade"; export type FirebaseAppName = "report-service-dev" | "report-service-pro"; @@ -29,7 +29,7 @@ const learnerPluginStatePath = (docId: string) => `sources/${portalData?.database.sourceKey}/plugin_states/${docId}`; -export type DBChangeListener = (wrappedDBAnswer: WrappedDBAnswer | null) => void; +export type DBChangeListener = (wrappedDBAnswer: IWrappedDBAnswer | null) => void; interface IConfig { apiKey: string; @@ -183,7 +183,7 @@ const watchAnswerDocs = (listener: DocumentsListener, questionId?: string) => { // Watches ONE question answer defined by embeddableRefId. -export const watchAnswer = (embeddableRefId: string, callback: (wrappedAnswer: WrappedDBAnswer | null) => void) => { +export const watchAnswer = (embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void) => { const questionId = refIdToAnswersQuestionId(embeddableRefId); // Note that watchAnswerDocs returns unsubscribe method. return watchAnswerDocs((answers: firebase.firestore.DocumentData[]) => { @@ -202,7 +202,7 @@ export const watchAnswer = (embeddableRefId: string, callback: (wrappedAnswer: W }; // Watches ALL the answers for the given activity. -export const watchAllAnswers = (callback: (wrappedAnswer: WrappedDBAnswer[]) => void) => { +export const watchAllAnswers = (callback: (wrappedAnswer: IWrappedDBAnswer[]) => void) => { // Note that watchAnswerDocs returns unsubscribe method. return watchAnswerDocs((answers: firebase.firestore.DocumentData[]) => { callback(answers.map(doc => docToWrappedAnswer(doc))); diff --git a/src/storage-facade.ts b/src/storage-facade.ts index be029f77..66186136 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -7,11 +7,18 @@ import { refIdToAnswersQuestionId } from "./utilities/embeddable-utils"; export interface IStorageInitializer { name: FirebaseImp.FirebaseAppName, preview: boolean } -export interface WrappedDBAnswer { +export interface IWrappedDBAnswer { meta: IExportableAnswerMetadata; interactiveState: any; } +export type IIndexedDBAnswer = IExportableAnswerMetadata & { activity: string }; + +export const SetCurrentActivityId = (newId: string) => { + _currentActivityId = newId; +}; +let _currentActivityId = "test-activity-unique-identifier"; + export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { const getInteractiveState = () => { const reportState = JSON.parse(doc.report_state); @@ -20,7 +27,7 @@ export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { }; const interactiveState = getInteractiveState(); - const wrappedAnswer: WrappedDBAnswer = { + const wrappedAnswer: IWrappedDBAnswer = { meta: doc as IExportableAnswerMetadata, interactiveState }; @@ -41,8 +48,8 @@ export interface StorageInterface { setAnonymousPortalData: (_portalData: IAnonymousPortalData) => void, // These are directly related to storing student answers and fetching them back - watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: WrappedDBAnswer | null) => void): () => void - watchAllAnswers: (callback: (wrappedAnswer: WrappedDBAnswer[]) => void) => void, + watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void): () => void + watchAllAnswers: (callback: (wrappedAnswer: IWrappedDBAnswer[]) => void) => void, createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => void, getLearnerPluginStateDocId: (pluginId: number) => string|undefined, getCachedLearnerPluginState: (pluginId: number) => string|null, @@ -65,8 +72,8 @@ const FireStoreStorageProvider: StorageInterface = { setAnonymousPortalData: (_portalData: IAnonymousPortalData) => FirebaseImp.setAnonymousPortalData(_portalData), // Saving and Loading student work - watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: WrappedDBAnswer | null) => void) => FirebaseImp.watchAnswer(embeddableRefId, callback), - watchAllAnswers: (callback: (wrappedAnswer: WrappedDBAnswer[]) => void) => FirebaseImp.watchAllAnswers(callback), + watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void) => FirebaseImp.watchAnswer(embeddableRefId, callback), + watchAllAnswers: (callback: (wrappedAnswer: IWrappedDBAnswer[]) => void) => FirebaseImp.watchAllAnswers(callback), // Save an answer to Firebase createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => FirebaseImp.createOrUpdateAnswer(answer), @@ -77,31 +84,34 @@ const FireStoreStorageProvider: StorageInterface = { checkIfOnline: () => FirebaseImp.checkIfOnline() }; - const indexDBConnection = new DexieStorage(); const DexieStorageProvider = {...FireStoreStorageProvider, createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => { console.dir(answer); - indexDBConnection.answers.put(answer); + const idxDBAnswer = answer as IIndexedDBAnswer; + idxDBAnswer.activity = _currentActivityId; + indexDBConnection.answers.put(idxDBAnswer); }, - watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: WrappedDBAnswer | null) => void) => { + watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void) => { const questionId = refIdToAnswersQuestionId(embeddableRefId); const getAnswerFromIndexDB = (qID: string) => { const foundAnswers = indexDBConnection .answers .where("question_id") .equals(qID).toArray(); - return foundAnswers.then( (answers) => { + return foundAnswers.then((answers) => { return answers[0]; }); }; - getAnswerFromIndexDB(questionId).then( (answer: IExportableAnswerMetadata|null) => { - if(answer){ + getAnswerFromIndexDB(questionId).then( (answer: IIndexedDBAnswer|null) => { + if (answer) { callback(docToWrappedAnswer(answer)); + } else { + callback(null); } }); } From 178033bd680f42a3b43212efc2b0a6304f16f026 Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Tue, 23 Feb 2021 13:44:21 -0500 Subject: [PATCH 023/242] Improve naming of activity ID tracker, fix bugs post-merge --- src/components/app.tsx | 5 +++-- src/storage-facade.ts | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 3be0ebec..c61fdd3b 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -15,7 +15,7 @@ import { CompletionPageContent } from "./activity-completion/completion-page-con import { queryValue, queryValueBoolean } from "../utilities/url-query"; import { fetchPortalData, IPortalData, firebaseAppName } from "../portal-api"; import { Activity, IEmbeddablePlugin, OfflineManifest, OfflineManifestActivity, Sequence } from "../types"; -import { Storage, SetCurrentActivityId } from "../storage-facade"; +import { Storage, TrackOfflineActivityId } from "../storage-facade"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; import { loadPluginScripts, getGlossaryEmbeddable, loadLearnerPluginState } from "../utilities/plugin-utils"; @@ -239,7 +239,7 @@ export class App extends React.PureComponent { let activity: Activity | undefined = undefined; const activityPath = queryValue("activity") || (this.state.offlineMode ? undefined : kDefaultActivity); if (activityPath) { - SetCurrentActivityId(activityPath); + TrackOfflineActivityId(activityPath); activity = await getActivityDefinition(activityPath); if (offlineManifestAuthoringId) { this.addActivityToOfflineManifest(offlineManifestAuthoringId, activity, activityPath); @@ -653,6 +653,7 @@ export class App extends React.PureComponent { private handleSelectOfflineActivity = (selectedActivity: Activity, url: string) => { this.setState({ activity: selectedActivity }); if (this.state.offlineManifestAuthoringId) { + TrackOfflineActivityId(url); this.addActivityToOfflineManifest(this.state.offlineManifestAuthoringId, selectedActivity, url); } } diff --git a/src/storage-facade.ts b/src/storage-facade.ts index 66186136..9978e33b 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -14,10 +14,10 @@ export interface IWrappedDBAnswer { export type IIndexedDBAnswer = IExportableAnswerMetadata & { activity: string }; -export const SetCurrentActivityId = (newId: string) => { - _currentActivityId = newId; +export const TrackOfflineActivityId = (newId: string) => { + _currentOfflineActivityId = newId; }; -let _currentActivityId = "test-activity-unique-identifier"; +let _currentOfflineActivityId = "offline-activity-default-identifier"; export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { const getInteractiveState = () => { @@ -91,7 +91,7 @@ const DexieStorageProvider = {...FireStoreStorageProvider, createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => { console.dir(answer); const idxDBAnswer = answer as IIndexedDBAnswer; - idxDBAnswer.activity = _currentActivityId; + idxDBAnswer.activity = _currentOfflineActivityId; indexDBConnection.answers.put(idxDBAnswer); }, From 990f2968697200bcfa69301d84d57fbf664379fc Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Tue, 23 Feb 2021 13:51:29 -0500 Subject: [PATCH 024/242] Always track activity ID --- src/components/app.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index c61fdd3b..4b4709e1 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -652,8 +652,8 @@ export class App extends React.PureComponent { private handleSelectOfflineActivity = (selectedActivity: Activity, url: string) => { this.setState({ activity: selectedActivity }); + TrackOfflineActivityId(url); if (this.state.offlineManifestAuthoringId) { - TrackOfflineActivityId(url); this.addActivityToOfflineManifest(this.state.offlineManifestAuthoringId, selectedActivity, url); } } From 07320f6205569a2d935b9cbd7d5e26fb1a4fca9c Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Tue, 23 Feb 2021 15:36:07 -0500 Subject: [PATCH 025/242] Sample offline manifest for the Precipitating Change activity on Staging [#176575625] --- .../precipitatingchange.json | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/public/offline-manifests/precipitatingchange.json diff --git a/src/public/offline-manifests/precipitatingchange.json b/src/public/offline-manifests/precipitatingchange.json new file mode 100644 index 00000000..383d12a5 --- /dev/null +++ b/src/public/offline-manifests/precipitatingchange.json @@ -0,0 +1,37 @@ +{ + "name": "Precipitating Change Offline Manifest", + "activities": [ + { + "name": "AP Noah: AK NetLogo PChange 2021-02-17 ", + "url": "https://authoring.staging.concord.org/api/v1/activities/20926.json" + } + ], + "cacheList": [ + "https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png", + "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", + "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/precip-models/lesson-4-ak-v3.html", + "models-resources/question-interactives/branch/master/multiple-choice/", + "models-resources/question-interactives/branch/master/multiple-choice/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/multiple-choice/assets/index.ef6640fdbaa59e7d870c.js", + "models-resources/question-interactives/branch/master/open-response/", + "models-resources/question-interactives/branch/master/open-response/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/open-response/assets/index.ef6640fdbaa59e7d870c.js", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" + ] +} \ No newline at end of file From 205c7506a76ed0753adc3b5afe20877b189caac3 Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Tue, 23 Feb 2021 17:11:50 -0500 Subject: [PATCH 026/242] Add a Save My Work button to Completion Page to export answers to JSON [#176982423] --- .../completion-export-answers.scss | 9 +++++ .../completion-export-answers.tsx | 35 +++++++++++++++++++ .../completion-page-content.tsx | 3 ++ src/storage-facade.ts | 32 +++++++++++++++-- 4 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 src/components/activity-completion/completion-export-answers.scss create mode 100644 src/components/activity-completion/completion-export-answers.tsx diff --git a/src/components/activity-completion/completion-export-answers.scss b/src/components/activity-completion/completion-export-answers.scss new file mode 100644 index 00000000..b19655bb --- /dev/null +++ b/src/components/activity-completion/completion-export-answers.scss @@ -0,0 +1,9 @@ +.activity-export-download{ + a { + text-decoration: none; + .button { + height: 32px; + line-height: 1.6em; + } + } +} \ No newline at end of file diff --git a/src/components/activity-completion/completion-export-answers.tsx b/src/components/activity-completion/completion-export-answers.tsx new file mode 100644 index 00000000..77a62e6e --- /dev/null +++ b/src/components/activity-completion/completion-export-answers.tsx @@ -0,0 +1,35 @@ +import React from "react"; +import { Storage } from "../../storage-facade"; + +import "./completion-export-answers.scss"; + +interface IProps { } +interface IState { + activityJSON: string +} + +export class CompletionExportAnswers extends React.PureComponent { + + public constructor(props: IProps) { + super(props); + this.state = {activityJSON: ""}; + } + async componentDidMount() { + const activityJSON = await Storage.exportActivityToJSON(); + this.setState({ activityJSON }); + } + + render() { + const { activityJSON } = this.state; + const bb = new Blob([activityJSON], { type: "text/plain" }); + const activityLink = window.URL.createObjectURL(bb); + + return ( + + ); + } +} diff --git a/src/components/activity-completion/completion-page-content.tsx b/src/components/activity-completion/completion-page-content.tsx index 8e7ea4bc..667daa5e 100644 --- a/src/components/activity-completion/completion-page-content.tsx +++ b/src/components/activity-completion/completion-page-content.tsx @@ -6,6 +6,7 @@ import { renderHTML } from "../../utilities/render-html"; import { Storage } from "../../storage-facade"; import { isQuestion } from "../../utilities/activity-utils"; import { refIdToAnswersQuestionId } from "../../utilities/embeddable-utils"; +import { CompletionExportAnswers } from "./completion-export-answers"; import ccPlaceholderLogo from "../../assets/cc-placeholder.png"; import "./completion-page-content.scss"; @@ -127,7 +128,9 @@ export const CompletionPageContent: React.FC = (props) => { {isActivityComplete && } {progressText}
    + {showStudentReport && } +
    diff --git a/src/storage-facade.ts b/src/storage-facade.ts index 9978e33b..75aa72a4 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -55,7 +55,10 @@ export interface StorageInterface { getCachedLearnerPluginState: (pluginId: number) => string|null, getLearnerPluginState: (pluginId: number) => Promise, setLearnerPluginState: (pluginId: number, state: string) => Promise, - checkIfOnline: () => Promise + checkIfOnline: () => Promise, + + // for saving a whole activity to JSON + exportActivityToJSON: (activityId?: string) => Promise | string } const FireStoreStorageProvider: StorageInterface = { @@ -81,7 +84,10 @@ const FireStoreStorageProvider: StorageInterface = { getCachedLearnerPluginState: (pluginId: number) => FirebaseImp.getCachedLearnerPluginState(pluginId), getLearnerPluginState: (pluginId: number) => FirebaseImp.getLearnerPluginState(pluginId), setLearnerPluginState: (pluginId: number, state: string) => FirebaseImp.setLearnerPluginState(pluginId,state), - checkIfOnline: () => FirebaseImp.checkIfOnline() + checkIfOnline: () => FirebaseImp.checkIfOnline(), + + // TODO: Save activity to local JSON file + exportActivityToJSON: (activityId?: string) => "" // console.log("Not yet implemented for Firebase Storage") }; const indexDBConnection = new DexieStorage(); @@ -89,7 +95,6 @@ const indexDBConnection = new DexieStorage(); const DexieStorageProvider = {...FireStoreStorageProvider, createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => { - console.dir(answer); const idxDBAnswer = answer as IIndexedDBAnswer; idxDBAnswer.activity = _currentOfflineActivityId; indexDBConnection.answers.put(idxDBAnswer); @@ -114,6 +119,27 @@ const DexieStorageProvider = {...FireStoreStorageProvider, callback(null); } }); + }, + + exportActivityToJSON: (activityId?: string) => { + const currentActivityId = activityId ? activityId : _currentOfflineActivityId; + const getAllAnswersFromIndexDB = () => { + const foundAnswers = indexDBConnection + .answers + .where("activity") + .equals(currentActivityId).toArray(); + return foundAnswers.then((answers) => { + return answers; + }); + }; + + return getAllAnswersFromIndexDB().then( (answers: IIndexedDBAnswer[]|null) => { + if (answers) { + return JSON.stringify({ answers }); + } else { + return JSON.stringify({ answers: []}); + } + }); } }; From ed6596a74d3d04d2530fca8aa2878cf8aef1f513 Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Wed, 24 Feb 2021 16:49:26 -0500 Subject: [PATCH 027/242] Improve filename, add current date, activity ID. Also add version to schema --- .../completion-export-answers.tsx | 14 ++++---- src/dexie-storage.ts | 4 +-- src/storage-facade.ts | 32 ++++++++++++++++--- 3 files changed, 38 insertions(+), 12 deletions(-) diff --git a/src/components/activity-completion/completion-export-answers.tsx b/src/components/activity-completion/completion-export-answers.tsx index 77a62e6e..5c957c56 100644 --- a/src/components/activity-completion/completion-export-answers.tsx +++ b/src/components/activity-completion/completion-export-answers.tsx @@ -5,28 +5,30 @@ import "./completion-export-answers.scss"; interface IProps { } interface IState { - activityJSON: string + activityJSON: string, + filename: string } export class CompletionExportAnswers extends React.PureComponent { public constructor(props: IProps) { super(props); - this.state = {activityJSON: ""}; + this.state = {activityJSON: "", filename: "activity"}; } async componentDidMount() { - const activityJSON = await Storage.exportActivityToJSON(); - this.setState({ activityJSON }); + const activityJSONComplete = await Storage.exportActivityToJSON(); + const filename = activityJSONComplete.filename; + this.setState({ activityJSON: JSON.stringify(activityJSONComplete), filename }); } render() { - const { activityJSON } = this.state; + const { activityJSON, filename } = this.state; const bb = new Blob([activityJSON], { type: "text/plain" }); const activityLink = window.URL.createObjectURL(bb); return ( diff --git a/src/dexie-storage.ts b/src/dexie-storage.ts index c6b0a5a0..13211680 100644 --- a/src/dexie-storage.ts +++ b/src/dexie-storage.ts @@ -1,6 +1,6 @@ import Dexie from "dexie"; import { OfflineActivity } from "./types"; -import { IIndexedDBAnswer } from "./storage-facade"; +import { IIndexedDBAnswer, kOfflineAnswerSchemaVersion } from "./storage-facade"; // Copy and pasted from the example: https://dexie.org/docs/Typescript export class DexieStorage extends Dexie { @@ -12,7 +12,7 @@ export class DexieStorage extends Dexie { constructor () { super("ActivityPlayer"); - this.version(4).stores({ + this.version(kOfflineAnswerSchemaVersion).stores({ answers: "id, question_id, activity", //...other tables goes here... }); diff --git a/src/storage-facade.ts b/src/storage-facade.ts index 75aa72a4..42477429 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -17,7 +17,7 @@ export type IIndexedDBAnswer = IExportableAnswerMetadata & { activity: string }; export const TrackOfflineActivityId = (newId: string) => { _currentOfflineActivityId = newId; }; -let _currentOfflineActivityId = "offline-activity-default-identifier"; +let _currentOfflineActivityId = "/testactivity.json"; export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { const getInteractiveState = () => { @@ -34,6 +34,27 @@ export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { return wrappedAnswer; }; +// We need to ensure a version match between data stored and exported +export const kOfflineAnswerSchemaVersion = 4; + +const activityExportFileName = (activity: string) => { + const d = new Date(); + const year = (d.getFullYear()).toString(); + let month = (d.getMonth() + 1).toString(); + let day = (d.getDate()).toString(); + + if (month.length < 2) { + month = "0" + month; + } + if (day.length < 2) { + day = "0" + day; + } + + // get the activity name - or improvise + + return ["Activity_", activity, "_", year, month, day].join(""); +}; + export interface StorageInterface { // These seem to be FireStore specific: onFirestoreSaveTimeout: (handler: () => void) => void, @@ -58,7 +79,7 @@ export interface StorageInterface { checkIfOnline: () => Promise, // for saving a whole activity to JSON - exportActivityToJSON: (activityId?: string) => Promise | string + exportActivityToJSON: (activityId?: string) => Promise | any } const FireStoreStorageProvider: StorageInterface = { @@ -121,8 +142,11 @@ const DexieStorageProvider = {...FireStoreStorageProvider, }); }, + exportActivityToJSON: (activityId?: string) => { const currentActivityId = activityId ? activityId : _currentOfflineActivityId; + const activityShortId = currentActivityId.indexOf("/") > -1 ? currentActivityId.substr(currentActivityId.lastIndexOf("/")+1).replace(".json", "") : currentActivityId; + const filename = activityExportFileName(activityShortId); const getAllAnswersFromIndexDB = () => { const foundAnswers = indexDBConnection .answers @@ -135,9 +159,9 @@ const DexieStorageProvider = {...FireStoreStorageProvider, return getAllAnswersFromIndexDB().then( (answers: IIndexedDBAnswer[]|null) => { if (answers) { - return JSON.stringify({ answers }); + return { activity: currentActivityId, filename, version: kOfflineAnswerSchemaVersion, answers }; } else { - return JSON.stringify({ answers: []}); + return { activity: currentActivityId, filename, version: kOfflineAnswerSchemaVersion, answers: []}; } }); } From 2d813dc6de838fe1fc86cce359b2cae7583c3913 Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Thu, 25 Feb 2021 11:02:11 -0500 Subject: [PATCH 028/242] Fix typing on exportable answer --- src/storage-facade.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/storage-facade.ts b/src/storage-facade.ts index 42477429..9881ab92 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -14,6 +14,8 @@ export interface IWrappedDBAnswer { export type IIndexedDBAnswer = IExportableAnswerMetadata & { activity: string }; +export type ExportableActivity = IIndexedDBAnswer & { activity: string, filename: string, version: number }; + export const TrackOfflineActivityId = (newId: string) => { _currentOfflineActivityId = newId; }; @@ -79,7 +81,7 @@ export interface StorageInterface { checkIfOnline: () => Promise, // for saving a whole activity to JSON - exportActivityToJSON: (activityId?: string) => Promise | any + exportActivityToJSON: (activityId?: string) => Promise } const FireStoreStorageProvider: StorageInterface = { @@ -108,7 +110,7 @@ const FireStoreStorageProvider: StorageInterface = { checkIfOnline: () => FirebaseImp.checkIfOnline(), // TODO: Save activity to local JSON file - exportActivityToJSON: (activityId?: string) => "" // console.log("Not yet implemented for Firebase Storage") + exportActivityToJSON: (activityId?: string) => Promise.reject("Not yet implemented for Firebase Storage") }; const indexDBConnection = new DexieStorage(); @@ -157,7 +159,7 @@ const DexieStorageProvider = {...FireStoreStorageProvider, }); }; - return getAllAnswersFromIndexDB().then( (answers: IIndexedDBAnswer[]|null) => { + return getAllAnswersFromIndexDB().then((answers: IIndexedDBAnswer[] | null) => { if (answers) { return { activity: currentActivityId, filename, version: kOfflineAnswerSchemaVersion, answers }; } else { From 1276e807ac876788c49d54538ad164c3c07f17ea Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Wed, 24 Feb 2021 18:03:53 -0500 Subject: [PATCH 029/242] Cache student identifiers for offline runs. `student-info.ts` This moves many of the auth captures from the APP into a StudentInfo record in`student-info.ts` This is the start of this PT story: [#176916142] More work needs to be done tying this user to their runs and offline activity answers. --- src/components/app.tsx | 55 ++---------- src/portal-api.ts | 13 ++- src/student-info.ts | 184 +++++++++++++++++++++++++++++++++++++++++ src/types.ts | 8 +- 4 files changed, 208 insertions(+), 52 deletions(-) create mode 100644 src/student-info.ts diff --git a/src/components/app.tsx b/src/components/app.tsx index 4b4709e1..a64381da 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -13,9 +13,9 @@ import { SinglePageContent } from "./single-page/single-page-content"; import { WarningBanner } from "./warning-banner"; import { CompletionPageContent } from "./activity-completion/completion-page-content"; import { queryValue, queryValueBoolean } from "../utilities/url-query"; -import { fetchPortalData, IPortalData, firebaseAppName } from "../portal-api"; +import { IPortalData, firebaseAppName } from "../portal-api"; import { Activity, IEmbeddablePlugin, OfflineManifest, OfflineManifestActivity, Sequence } from "../types"; -import { Storage, TrackOfflineActivityId } from "../storage-facade"; +import { TrackOfflineActivityId } from "../storage-facade"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; import { loadPluginScripts, getGlossaryEmbeddable, loadLearnerPluginState } from "../utilities/plugin-utils"; @@ -36,6 +36,7 @@ import { OfflineManifestLoadingModal } from "./offline-manifest-loading-modal"; import { OfflineActivities } from "./offline-activities"; import { OfflineNav } from "./offline-nav"; import { OfflineManifestAuthoringNav } from "./offline-manifest-authoring-nav"; +import { StudentInfo } from "../student-info"; import "./app.scss"; @@ -264,50 +265,12 @@ export class App extends React.PureComponent { const newState: Partial = {activity, offlineManifest, loadingOfflineManifest, currentPage, showThemeButtons, showWarning, showSequenceIntro, sequence, teacherEditionMode, offlineManifestAuthoringId}; setDocumentTitle(activity, currentPage); - let classHash = ""; - let role = "unknown"; - let runRemoteEndpoint = ""; - - if (queryValue("token")) { - try { - const portalData = await fetchPortalData(); - if (portalData.fullName) { - newState.username = portalData.fullName; - } - if (portalData.userType) { - role = portalData.userType; - } - if (portalData.contextId) { - classHash = portalData.contextId; - } - if (portalData.runRemoteEndpoint) { - runRemoteEndpoint = portalData.runRemoteEndpoint; - } - await Storage.initializeDB({ name: portalData.database.appName, preview: false }); - await Storage.signInWithToken(portalData.database.rawFirebaseJWT); - this.setState({ portalData }); - - Storage.setPortalData(portalData); - } catch (err) { - this.setError("auth", err); - } - // TDB: add else case to handle offline authentication when this.state.offlineMode is true - } else { - try { - await Storage.initializeAnonymousDB(preview); - } catch (err) { - this.setError("auth", err); - } - } - - if (!preview) { - // Notify user about network issues. Note that in preview mode Firestore network is disabled, so it doesn't - // make sense to track requests. - Storage.onFirestoreSaveTimeout(() => this.state.errorType === null && this.setError("network")); - // Notify user when network issues are resolved. - Storage.onFirestoreSaveAfterTimeout(() => this.state.errorType === "network" && this.setError(null)); - } - + const studentInfo = new StudentInfo(); + await studentInfo.init(); + const role = studentInfo.roll; + const classHash = studentInfo.getClassHash(); + const runRemoteEndpoint = studentInfo.getRunRemoteEndpoint(); + newState.username = studentInfo.name; this.setState(newState as IState); this.LARA = initializeLara(); diff --git a/src/portal-api.ts b/src/portal-api.ts index 01cbf1f6..4f816dcd 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -3,6 +3,7 @@ import superagent from "superagent"; import { v4 as uuidv4 } from "uuid"; import { queryValue, setQueryValue } from "./utilities/url-query"; import { FirebaseAppName } from "./firebase-db"; +import { IFrameEndpoint } from "iframe-phone"; interface PortalClassOffering { className: string; @@ -67,7 +68,7 @@ export interface ILTIPartial { resourceLinkId: string; // offering ID } -interface OfferingData { +export interface OfferingData { id: number; activityUrl: string; rubricUrl: string; @@ -92,6 +93,7 @@ export interface IPortalData extends ILTIPartial { rawPortalJWT?: string; portalJWT?: PortalJWT; runRemoteEndpoint: string; + classInfo?: ClassInfo; } export interface IAnonymousPortalData { @@ -381,7 +383,13 @@ export const getOfferingData = (params: GetOfferingParams) => { }); }; -export const fetchPortalData = async (): Promise => { +interface IFetchPortalDataOpts { + includeClassData: boolean +} +const fetchPortalDataDefaults: IFetchPortalDataOpts = { + includeClassData: false +}; +export const fetchPortalData = async (opts: IFetchPortalDataOpts = fetchPortalDataDefaults): Promise => { const bearerToken = queryValue("token"); const basePortalUrl = queryValue("domain"); @@ -446,6 +454,7 @@ export const fetchPortalData = async (): Promise => { }, runRemoteEndpoint: firebaseJWT.returnUrl }; + if(opts.includeClassData) { rawPortalData.classInfo = classInfo; } return rawPortalData; }; diff --git a/src/student-info.ts b/src/student-info.ts new file mode 100644 index 00000000..ad4b9e46 --- /dev/null +++ b/src/student-info.ts @@ -0,0 +1,184 @@ +import { fetchPortalData, IPortalData } from "./portal-api"; +import { Storage } from "./storage-facade"; + +const DEFAULT_STUDENT_NAME = "A student"; +const DEFAULT_TEACHER_NAME = "A teacher"; +const STUDENT_LOCAL_STORAGE_KEY = "ActivityPlayerStudent"; + +/* + +The purpose of this class is to allow us to reconcile users and their data +at a later time. + +*/ + +interface IAnonymousRun { + activityUrl: string, + runKey: string, +} + +interface IPortalRun extends IAnonymousRun { + offeringId: string, + runRemoteEndpoint: string, + learnerKey: string, + className: string, + classID: string, + contextID: string +} + +type Run = IAnonymousRun | IPortalRun; + +interface IStudentRecord { + name: string, + roll: "student" + teacherName: string, + platformUserId: string, + runs: Array, + platformId?: string + rawPortalData?: IPortalData +} + +export class StudentInfo implements IStudentRecord { + name: string; + teacherName: string; + platformUserId: string; + roll: "student"; + runs: Run[]; + rawPortalData: IPortalData; + dataReady: boolean; + private _validTokens: boolean; + + + constructor() { + this._validTokens = false; + } + + public init(): Promise { + return fetchPortalData({includeClassData: true}) + .then( (portalData: IPortalData) => this.updateFromPortalData(portalData)) + .catch( () => this.updateFromIndexDB()); + } + + public isAuthenticated() : boolean{ + return this._validTokens === true; + } + + // TODO: Anonymous users can also send data ... + public canSendData() : boolean { + return this.isAuthenticated(); + } + + public hasValidTeacherName() : boolean{ + return this.teacherName !== DEFAULT_TEACHER_NAME; + } + + public hasValidStudentName() { + return this.name !== DEFAULT_STUDENT_NAME; + } + + public getClassHash() { + return this.rawPortalData?.contextId; + } + + public getRunRemoteEndpoint() { + return this.rawPortalData.runRemoteEndpoint; + } + + private updateFromIndexDB() { + // We have to load any data we can from the DB, but tokens will be stale. + // removethem + console.log("LOADING FROM LOCAL STORAGE"); + const local = localStorage.getItem(STUDENT_LOCAL_STORAGE_KEY) ?? "{}"; + this.loadSerializedData(local); + this._validTokens=false; + } + + private serializeData() { + const data: IStudentRecord = { + name: this.name, + roll: this.roll, + teacherName: this.teacherName, + platformUserId: this.platformUserId, + runs: this.runs, + rawPortalData: this.rawPortalData + }; + return JSON.stringify(data); + } + + private loadSerializedData(json: string) { + console.log(json); + const data: IStudentRecord = JSON.parse(json) as IStudentRecord; + this.loadData(data); + } + + private loadData(data: IStudentRecord ) { + this.name = data.name ?? DEFAULT_STUDENT_NAME; + this.teacherName = data.name ?? DEFAULT_TEACHER_NAME; + this.platformUserId = data.platformUserId; + this.runs = data.runs; + this.roll = data.roll; + if (data.rawPortalData) { + this.rawPortalData = data.rawPortalData; + } + this.finish(); + } + + private updateFromPortalData(portalData: IPortalData) { + this.rawPortalData = portalData; + this.name = portalData.fullName ?? DEFAULT_STUDENT_NAME; + this.teacherName = portalData?.classInfo?.teachers[0]?.fullName ?? DEFAULT_TEACHER_NAME; + this._validTokens = true; + window.localStorage.setItem(STUDENT_LOCAL_STORAGE_KEY, this.serializeData()); + this.finish(); + } + + private finish() { + Storage.setPortalData(this.rawPortalData); + this.dataReady = true; + } + +} + + +/** + * To match LARA we would normally also include a tool_user_id, but the activity player + * keeps no user ids of its own. + */ +// export interface ILTIPartial { +// platform_id: string; // portal +// platform_user_id: string; // Portal user_id +// context_id: string; // class hash +// resource_link_id: string; // offering ID +// resource_url: string; // Activity or sequence ID +// run_key: string; // Unique run identifier +// source_key: string; +// tool_id: string; +// } + +// export interface IAnonymousMetadataPartial { +// resource_url: string; +// run_key: string; +// source_key: string; +// tool_id: string; +// tool_user_id: "anonymous"; +// platform_user_id: string; +// } + + +// What data gets set in the Activity Player URL when launched from portal +// http://localhost:11000/activity=https%3A%2F%2Fauthoring.staging.concord.org%2Fapi%2Fv1%2Factivities%2F20926.json?token=4288827c6ce60dcba2186de82a50aa00&domain=https://learn.staging.concord.org/&domain_uid=383 + +// if there is a token, get some JWTs +// Portal JWT +// FireStore JWT +// Inspect the JWT for class info + +// You can pull this data out of the portal_api.ts file +// Launch URL instead of URL: +// http://localhost:11000/activity=https%3A%2F%2Fauthoring.staging.concord.org%2Fapi%2Fv1%2Factivities%2F20926.json?class_info_url=https%3A%2F%2Flearn.staging.concord.org%2Fapi%2Fv1%2Fclasses%2F1&context_id=b1c1cab9c696a5cdbeaf700d704ac9f848df87907d008534&domain=https%3A%2F%2Flearn.staging.concord.org%2F&domain_uid=383&externalId=2029&logging=true&platform_id=https%3A%2F%2Flearn.staging.concord.org&platform_user_id=383&resource_link_id=1610&returnUrl=https%3A%2F%2Flearn.staging.concord.org%2Fdataservice%2Fexternal_activity_data%2F4bd0b794-cb90-43fe-8598-2c85924efefc +/* + +http://localhost:11000/index.html?class_info_url=https://learn.staging.concord.org/api/v1/classes/1&context_id=b1c1cab9c696a5cdbeaf700d704ac9f848df87907d008534&domain=https://learn.staging.concord.org/&domain_uid=383&externalId=2029&logging=true&platform_id=https://learn.staging.concord.org&platform_user_id=383&resource_link_id=1610&returnUrl=https://learn.staging.concord.org/dataservice/external_activity_data/4bd0b794-cb90-43fe-8598-2c85924efefc + +*/ + diff --git a/src/types.ts b/src/types.ts index 0c3247a7..94a7371b 100644 --- a/src/types.ts +++ b/src/types.ts @@ -183,11 +183,11 @@ export interface IReportState { */ export interface ILTIPartial { platform_id: string; // portal - platform_user_id: string; + platform_user_id: string; // Portal user_id context_id: string; // class hash - resource_link_id: string; // offering ID - resource_url: string; - run_key: string; + resource_link_id: string; // offering ID + resource_url: string; // Activity or sequence ID + run_key: string; // Unique run identifier source_key: string; tool_id: string; } From 510c192100116e7bd669b606d808136fb72c6f0f Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Wed, 24 Feb 2021 19:16:43 -0500 Subject: [PATCH 030/242] Fix spelling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `roll` → `role` 🤦‍♂️ --- src/components/app.tsx | 2 +- src/student-info.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index a64381da..8ab1a4ab 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -267,7 +267,7 @@ export class App extends React.PureComponent { const studentInfo = new StudentInfo(); await studentInfo.init(); - const role = studentInfo.roll; + const role = studentInfo.role; const classHash = studentInfo.getClassHash(); const runRemoteEndpoint = studentInfo.getRunRemoteEndpoint(); newState.username = studentInfo.name; diff --git a/src/student-info.ts b/src/student-info.ts index ad4b9e46..3865c815 100644 --- a/src/student-info.ts +++ b/src/student-info.ts @@ -30,7 +30,7 @@ type Run = IAnonymousRun | IPortalRun; interface IStudentRecord { name: string, - roll: "student" + role: "student" teacherName: string, platformUserId: string, runs: Array, @@ -42,7 +42,7 @@ export class StudentInfo implements IStudentRecord { name: string; teacherName: string; platformUserId: string; - roll: "student"; + role: "student"; runs: Run[]; rawPortalData: IPortalData; dataReady: boolean; @@ -96,7 +96,7 @@ export class StudentInfo implements IStudentRecord { private serializeData() { const data: IStudentRecord = { name: this.name, - roll: this.roll, + role: this.role, teacherName: this.teacherName, platformUserId: this.platformUserId, runs: this.runs, @@ -116,7 +116,7 @@ export class StudentInfo implements IStudentRecord { this.teacherName = data.name ?? DEFAULT_TEACHER_NAME; this.platformUserId = data.platformUserId; this.runs = data.runs; - this.roll = data.roll; + this.role = data.role; if (data.rawPortalData) { this.rawPortalData = data.rawPortalData; } From ea7524afc0b059ea629400d18314040c7da4357c Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 25 Feb 2021 17:16:24 -0500 Subject: [PATCH 031/242] Save some student portal info (incomplete work). * If anonymous we can click on in the header and set our name. * We can now see our progress on the completion (last page) even if we are not connected to FireStore. * We save student info to local storage if it exists. [#176916142] -- Tracking student information (credentials from the portal) --- .../activity-header/account-owner.tsx | 4 +- src/components/activity-header/header.tsx | 5 +- src/components/app.tsx | 38 ++++++++- src/components/modal-dialog.tsx | 5 +- src/components/student-info-modal.scss | 5 ++ src/components/student-info-modal.tsx | 57 +++++++++++++ src/storage-facade.ts | 12 +++ src/student-info.ts | 85 +++++++++++++++---- 8 files changed, 184 insertions(+), 27 deletions(-) create mode 100644 src/components/student-info-modal.scss create mode 100644 src/components/student-info-modal.tsx diff --git a/src/components/activity-header/account-owner.tsx b/src/components/activity-header/account-owner.tsx index def219bc..7473e4ea 100644 --- a/src/components/activity-header/account-owner.tsx +++ b/src/components/activity-header/account-owner.tsx @@ -5,11 +5,13 @@ import "./account-owner.scss"; interface IProps { userName: string; + onClick?: () => void; } export class AccountOwner extends React.PureComponent { render() { + const clickHandler = this.props.onClick; return ( -
    +
    {this.props.userName}
    diff --git a/src/components/activity-header/header.tsx b/src/components/activity-header/header.tsx index 1adbfcd1..a9f04c88 100644 --- a/src/components/activity-header/header.tsx +++ b/src/components/activity-header/header.tsx @@ -14,12 +14,13 @@ interface IProps { showSequence?: boolean; onShowSequence?: () => void; skipTitlePrefix?: boolean; + onClickUsername?: () => void; } export class Header extends React.PureComponent { render() { const ccLogoLink = "https://concord.org/"; - const { fullWidth, projectId, userName, showSequence, onShowSequence } = this.props; + const { fullWidth, projectId, userName, showSequence, onShowSequence, onClickUsername } = this.props; const projectType = ProjectTypes.find(pt => pt.id === projectId); const logo = projectType?.headerLogo; const projectURL = projectType?.url || ccLogoLink; @@ -37,7 +38,7 @@ export class Header extends React.PureComponent {
    - +
    diff --git a/src/components/app.tsx b/src/components/app.tsx index 8ab1a4ab..ade5351e 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -37,6 +37,7 @@ import { OfflineActivities } from "./offline-activities"; import { OfflineNav } from "./offline-nav"; import { OfflineManifestAuthoringNav } from "./offline-manifest-authoring-nav"; import { StudentInfo } from "../student-info"; +import { StudentInfoModal } from "./student-info-modal"; import "./app.scss"; @@ -82,6 +83,7 @@ interface IState { offlineManifestAuthoringActivities: OfflineManifestActivity[]; offlineManifestAuthoringCacheList: string[]; showOfflineManifestInstallConfirmation: boolean; + showEditUserName: boolean; } interface IProps {} @@ -89,10 +91,11 @@ export class App extends React.PureComponent { private LARA: LaraGlobalType; private activityPageContentRef = React.createRef(); + private studentInfo: StudentInfo; public constructor(props: IProps) { super(props); - + this.studentInfo = new StudentInfo(); // set the offline manifest authoring localstorage item if it exists in the params and then read from localstorage // this is done in the constructor as the state value is needed in the UNSAFE_componentWillMount method setOfflineManifestAuthoringId(queryValue("setOfflineManifestAuthoringId")); @@ -118,7 +121,8 @@ export class App extends React.PureComponent { offlineManifestAuthoringCacheList: [], showOfflineManifestInstallConfirmation: queryValue("confirmOfflineManifestInstall") === "true", offlineManifestAuthoringId, - offlineManifestId + offlineManifestId, + showEditUserName: false }; } @@ -265,7 +269,8 @@ export class App extends React.PureComponent { const newState: Partial = {activity, offlineManifest, loadingOfflineManifest, currentPage, showThemeButtons, showWarning, showSequenceIntro, sequence, teacherEditionMode, offlineManifestAuthoringId}; setDocumentTitle(activity, currentPage); - const studentInfo = new StudentInfo(); + // Get data from the portal or localstorage + const studentInfo = this.studentInfo; await studentInfo.init(); const role = studentInfo.role; const classHash = studentInfo.getClassHash(); @@ -336,16 +341,40 @@ export class App extends React.PureComponent { } } + + private renderActivity = () => { - const { activity, idle, errorType, currentPage, username, pluginsLoaded, teacherEditionMode, sequence, portalData } = this.state; + const { activity, idle, errorType, currentPage, username, pluginsLoaded, teacherEditionMode, sequence, portalData, showEditUserName } = this.state; if (!activity) return (
    Loading activity ...
    ); const totalPreviousQuestions = numQuestionsOnPreviousPages(currentPage, activity); const fullWidth = (currentPage !== 0) && (activity.pages[currentPage - 1].layout === PageLayouts.Responsive); const glossaryEmbeddable: IEmbeddablePlugin | undefined = getGlossaryEmbeddable(activity); const isCompletionPage = currentPage > 0 && activity.pages[currentPage - 1].is_completion; + const updateStudentName = (newUsername:string) => { + this.setState({ + username: newUsername, + showEditUserName: false}); + }; + + const closeStudentModal = () => { + this.setState({showEditUserName: false}); + }; + + const openStudentInfoModal = () => { + if(this.studentInfo.canChangeName()) { + this.setState({showEditUserName: true}); + } + }; + return ( +
    { contentName={sequence ? sequence.display_title || sequence.title || "" : activity.name} showSequence={sequence !== undefined} onShowSequence={sequence !== undefined ? this.handleShowSequenceIntro : undefined} + onClickUsername={openStudentInfoModal} /> { idle && !errorType && diff --git a/src/components/modal-dialog.tsx b/src/components/modal-dialog.tsx index 9a5afcd6..f1e0ea0b 100644 --- a/src/components/modal-dialog.tsx +++ b/src/components/modal-dialog.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { Component } from "react"; import Modal from "react-modal"; import "./modal-dialog.scss"; @@ -10,7 +10,7 @@ interface IProps { showModal: boolean; } -export class ModalDialog extends React.PureComponent { +export class ModalDialog extends Component { render() { const { title, label, showModal, onClose } = this.props; const handleClose = () => { @@ -24,6 +24,7 @@ export class ModalDialog extends React.PureComponent { >
    {title || "Alert"}
    {label}
    + {this.props.children}
    diff --git a/src/components/student-info-modal.scss b/src/components/student-info-modal.scss new file mode 100644 index 00000000..f1bb4f20 --- /dev/null +++ b/src/components/student-info-modal.scss @@ -0,0 +1,5 @@ +// @import "./vars.scss"; + +.student-info-modal { + +} diff --git a/src/components/student-info-modal.tsx b/src/components/student-info-modal.tsx new file mode 100644 index 00000000..a5ea54d8 --- /dev/null +++ b/src/components/student-info-modal.tsx @@ -0,0 +1,57 @@ +import React, { ChangeEvent, Component } from "react"; +// import Modal from "react-modal"; +import {ModalDialog} from "./modal-dialog"; +import {StudentInfo} from "../student-info"; + +import "./student-info-modal.scss"; + +interface IProps { + studentInfo: StudentInfo; + onNameChange: (name: string) => void; + showModal: boolean; + onClose: () => void; +} + +interface IState { + studentName: string; +} + +export class StudentInfoModal extends Component { + public constructor(props: IProps) { + super(props); + this.state = { + studentName: this.props.studentInfo.name + }; + } + + + render() { + const { studentInfo, showModal, onClose, onNameChange} = this.props; + const changeName = (event: ChangeEvent) => { + const value = event.target.value; + if (studentInfo.setName(value)) { + this.setState({studentName: studentInfo.name}); + } + }; + + const _onClose = () => { + if(onNameChange) { + onNameChange(this.state.studentName); + } + onClose(); + }; + + return ( + + + + ); + } +} diff --git a/src/storage-facade.ts b/src/storage-facade.ts index 9881ab92..c3687595 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -123,6 +123,18 @@ const DexieStorageProvider = {...FireStoreStorageProvider, indexDBConnection.answers.put(idxDBAnswer); }, + watchAllAnswers: (callback: (wrappedAnswer: IWrappedDBAnswer[]) => void) => { + const foundAnswers = indexDBConnection + .answers + .where("activity") + .equals(_currentOfflineActivityId) + .toArray(); + return foundAnswers.then((answers) => { + const response = answers.map( (a) => docToWrappedAnswer(a)); + callback(response); + }); + }, + watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void) => { const questionId = refIdToAnswersQuestionId(embeddableRefId); const getAnswerFromIndexDB = (qID: string) => { diff --git a/src/student-info.ts b/src/student-info.ts index 3865c815..2ed9e3ca 100644 --- a/src/student-info.ts +++ b/src/student-info.ts @@ -1,15 +1,16 @@ import { fetchPortalData, IPortalData } from "./portal-api"; import { Storage } from "./storage-facade"; -const DEFAULT_STUDENT_NAME = "A student"; +const DEFAULT_STUDENT_NAME = "Anonymous"; const DEFAULT_TEACHER_NAME = "A teacher"; const STUDENT_LOCAL_STORAGE_KEY = "ActivityPlayerStudent"; +const DEFAULT_CLASS_HASH = ""; // From `app.tsx` 2021-02-25 +const DEFAULT_RUN_REMOTE_ENDPOINT= ""; // From `app.tsx` 2021-02-25 +const DEFAULT_ROLE = "uknown"; // From `app.tsx` 2021-02-25 /* - The purpose of this class is to allow us to reconcile users and their data at a later time. - */ interface IAnonymousRun { @@ -27,10 +28,11 @@ interface IPortalRun extends IAnonymousRun { } type Run = IAnonymousRun | IPortalRun; +type Role = "student" | "teacher" | "unknown"; interface IStudentRecord { name: string, - role: "student" + role: Role, teacherName: string, platformUserId: string, runs: Array, @@ -42,14 +44,24 @@ export class StudentInfo implements IStudentRecord { name: string; teacherName: string; platformUserId: string; - role: "student"; + role: Role; runs: Run[]; rawPortalData: IPortalData; dataReady: boolean; private _validTokens: boolean; - + constructor() { + // Start with defaults. + // Calling async operation init() will load real values. + this.loadDefaults(); + } + + + private loadDefaults() { + this.role = "student"; + this.name = DEFAULT_STUDENT_NAME; + this.teacherName = DEFAULT_TEACHER_NAME; this._validTokens = false; } @@ -68,6 +80,10 @@ export class StudentInfo implements IStudentRecord { return this.isAuthenticated(); } + public canChangeName() : boolean { + return (! (this.platformUserId && this.platformUserId.length >= 1)); + } + public hasValidTeacherName() : boolean{ return this.teacherName !== DEFAULT_TEACHER_NAME; } @@ -77,22 +93,56 @@ export class StudentInfo implements IStudentRecord { } public getClassHash() { - return this.rawPortalData?.contextId; + return this.rawPortalData?.contextId ?? DEFAULT_CLASS_HASH; } public getRunRemoteEndpoint() { - return this.rawPortalData.runRemoteEndpoint; + return this.rawPortalData?.runRemoteEndpoint ?? DEFAULT_RUN_REMOTE_ENDPOINT; + } + + public setName(newName: string) { + if(this.platformUserId && this.platformUserId.length >= 1) { + // Cant change an authenticated students name + return false; + } + else { + this.name=newName; + window.localStorage.setItem(STUDENT_LOCAL_STORAGE_KEY, this.serializeData()); + return true; + } + } + + private validateSerializedData(data: IStudentRecord) { + // TODO: More careful inspection + return ( + (data.name?.length >= 1) && + (data.teacherName?.length >= 1) + ); } private updateFromIndexDB() { // We have to load any data we can from the DB, but tokens will be stale. - // removethem + // TODO: remove stale tokens if the exist console.log("LOADING FROM LOCAL STORAGE"); - const local = localStorage.getItem(STUDENT_LOCAL_STORAGE_KEY) ?? "{}"; - this.loadSerializedData(local); + const localStorageStudentInfo = localStorage.getItem(STUDENT_LOCAL_STORAGE_KEY) ?? ""; + this.loadSerializedData(localStorageStudentInfo); this._validTokens=false; } + private loadSerializedData(json: string) : boolean{ + try { + const data: IStudentRecord = JSON.parse(json) as IStudentRecord; + if(this.validateSerializedData(data)) { + this.loadData(data); + return true; + } + } catch (e) { + console.error("Failed to load serialized student data"); + console.error(e); + } + return false; + } + private serializeData() { const data: IStudentRecord = { name: this.name, @@ -105,12 +155,6 @@ export class StudentInfo implements IStudentRecord { return JSON.stringify(data); } - private loadSerializedData(json: string) { - console.log(json); - const data: IStudentRecord = JSON.parse(json) as IStudentRecord; - this.loadData(data); - } - private loadData(data: IStudentRecord ) { this.name = data.name ?? DEFAULT_STUDENT_NAME; this.teacherName = data.name ?? DEFAULT_TEACHER_NAME; @@ -127,11 +171,16 @@ export class StudentInfo implements IStudentRecord { this.rawPortalData = portalData; this.name = portalData.fullName ?? DEFAULT_STUDENT_NAME; this.teacherName = portalData?.classInfo?.teachers[0]?.fullName ?? DEFAULT_TEACHER_NAME; + this.platformUserId = portalData.platformUserId; this._validTokens = true; - window.localStorage.setItem(STUDENT_LOCAL_STORAGE_KEY, this.serializeData()); + this.saveSerializedLocalData(); this.finish(); } + private saveSerializedLocalData() { + window.localStorage.setItem(STUDENT_LOCAL_STORAGE_KEY, this.serializeData()); + } + private finish() { Storage.setPortalData(this.rawPortalData); this.dataReady = true; From 6292989d4a1bd7f1f4df8163c1fa1282c1a6c764 Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Fri, 26 Feb 2021 11:43:48 -0500 Subject: [PATCH 032/242] Adjust modal to support save / cancel as well as just close modes. Simplify callbacks --- src/components/app.tsx | 22 +++++++++++----------- src/components/modal-dialog.tsx | 23 +++++++++++++++++++++-- src/components/student-info-modal.tsx | 20 ++++++++++++-------- 3 files changed, 44 insertions(+), 21 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index ade5351e..96e998f0 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -341,8 +341,6 @@ export class App extends React.PureComponent { } } - - private renderActivity = () => { const { activity, idle, errorType, currentPage, username, pluginsLoaded, teacherEditionMode, sequence, portalData, showEditUserName } = this.state; if (!activity) return (
    Loading activity ...
    ); @@ -351,14 +349,17 @@ export class App extends React.PureComponent { const glossaryEmbeddable: IEmbeddablePlugin | undefined = getGlossaryEmbeddable(activity); const isCompletionPage = currentPage > 0 && activity.pages[currentPage - 1].is_completion; - const updateStudentName = (newUsername:string) => { - this.setState({ - username: newUsername, - showEditUserName: false}); - }; - - const closeStudentModal = () => { - this.setState({showEditUserName: false}); + const closeStudentModal = (newUsername?: string) => { + if (newUsername) { + this.setState({ + username: newUsername, + showEditUserName: false + }); + } else { + this.setState({ + showEditUserName: false + }); + } }; const openStudentInfoModal = () => { @@ -370,7 +371,6 @@ export class App extends React.PureComponent { return ( void; showModal: boolean; + onAccept?: (result: any) => void; + acceptButtonText?: string; + closeButtonText?: string; } export class ModalDialog extends Component { render() { - const { title, label, showModal, onClose } = this.props; + const { title, label, showModal, onClose, onAccept, acceptButtonText, closeButtonText} = this.props; const handleClose = () => { onClose(); }; + const handleAccept = (result: any) => { + if (onAccept) { + onAccept(result); + } + }; + const okText = acceptButtonText ? acceptButtonText : "OK"; + const closeText = closeButtonText ? closeButtonText : (onAccept ? "Cancel" : "Close"); return ( {
    {label}
    {this.props.children}
    - + {onAccept && } +
    ); diff --git a/src/components/student-info-modal.tsx b/src/components/student-info-modal.tsx index a5ea54d8..ca7445b1 100644 --- a/src/components/student-info-modal.tsx +++ b/src/components/student-info-modal.tsx @@ -7,9 +7,8 @@ import "./student-info-modal.scss"; interface IProps { studentInfo: StudentInfo; - onNameChange: (name: string) => void; showModal: boolean; - onClose: () => void; + onClose: (newName?: string) => void; } interface IState { @@ -26,7 +25,7 @@ export class StudentInfoModal extends Component { render() { - const { studentInfo, showModal, onClose, onNameChange} = this.props; + const { studentInfo, showModal, onClose } = this.props; const changeName = (event: ChangeEvent) => { const value = event.target.value; if (studentInfo.setName(value)) { @@ -34,10 +33,11 @@ export class StudentInfoModal extends Component { } }; + const _onSave = () => { + onClose(this.state.studentName); + }; + const _onClose = () => { - if(onNameChange) { - onNameChange(this.state.studentName); - } onClose(); }; @@ -45,10 +45,14 @@ export class StudentInfoModal extends Component { + onAccept={_onSave} + onClose={_onClose} + acceptButtonText="Save" + closeButtonText="Cancel" + > From 3816c92374b2adf5f766fdd4d91bd8286b0ffbc9 Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Mon, 1 Mar 2021 14:01:19 -0500 Subject: [PATCH 033/242] Remove import that was added accidentally --- src/portal-api.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/portal-api.ts b/src/portal-api.ts index 4f816dcd..8f43c572 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -3,7 +3,6 @@ import superagent from "superagent"; import { v4 as uuidv4 } from "uuid"; import { queryValue, setQueryValue } from "./utilities/url-query"; import { FirebaseAppName } from "./firebase-db"; -import { IFrameEndpoint } from "iframe-phone"; interface PortalClassOffering { className: string; From 7d1a9c1f20ce31092ad0a9daf0126c8e0465e907 Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Mon, 1 Mar 2021 14:03:35 -0500 Subject: [PATCH 034/242] Remove token from sample code comment --- src/student-info.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/student-info.ts b/src/student-info.ts index 2ed9e3ca..2ecdb775 100644 --- a/src/student-info.ts +++ b/src/student-info.ts @@ -215,7 +215,7 @@ export class StudentInfo implements IStudentRecord { // What data gets set in the Activity Player URL when launched from portal -// http://localhost:11000/activity=https%3A%2F%2Fauthoring.staging.concord.org%2Fapi%2Fv1%2Factivities%2F20926.json?token=4288827c6ce60dcba2186de82a50aa00&domain=https://learn.staging.concord.org/&domain_uid=383 +// http://localhost:11000/activity=https%3A%2F%2Fauthoring.staging.concord.org%2Fapi%2Fv1%2Factivities%2F20926.json?token=123&domain=https://learn.staging.concord.org/&domain_uid=383 // if there is a token, get some JWTs // Portal JWT From bf5c74cad5370433cdbe81efdfc2bc01603e917b Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Wed, 24 Feb 2021 17:15:27 -0500 Subject: [PATCH 035/242] Add new import component to the Introduction screen to allow for loading of previously-saved answers --- .../introduction-import-answers.scss | 18 +++++++ .../introduction-import-answers.tsx | 53 +++++++++++++++++++ .../introduction-page-content.tsx | 2 + src/storage-facade.ts | 27 +++++++++- 4 files changed, 98 insertions(+), 2 deletions(-) create mode 100644 src/components/activity-introduction/introduction-import-answers.scss create mode 100644 src/components/activity-introduction/introduction-import-answers.tsx diff --git a/src/components/activity-introduction/introduction-import-answers.scss b/src/components/activity-introduction/introduction-import-answers.scss new file mode 100644 index 00000000..0f0a327f --- /dev/null +++ b/src/components/activity-introduction/introduction-import-answers.scss @@ -0,0 +1,18 @@ +.activity-import-upload{ + display: flex; + padding: 5px; + height: 30px; + background-color: #eee; + border-radius: 4px; + margin: 4px 0 4px 0; + + .instructions{ + font-size: 0.9em; + display: flex; + margin-right: 10px; + } + input{ + display: flex; + padding-top: 2px; + } +} \ No newline at end of file diff --git a/src/components/activity-introduction/introduction-import-answers.tsx b/src/components/activity-introduction/introduction-import-answers.tsx new file mode 100644 index 00000000..1215282b --- /dev/null +++ b/src/components/activity-introduction/introduction-import-answers.tsx @@ -0,0 +1,53 @@ +import React, { ChangeEvent } from "react"; +import { Storage } from "../../storage-facade"; + +import "./introduction-import-answers.scss"; + +interface IProps { } +interface IState { + // activityJSON: string, + // filename: string +} + +export class ImportAnswers extends React.PureComponent { + + public constructor(props: IProps) { + super(props); + // this.state = {activityJSON: "", filename: "activity"}; + } + + private handleImportFile(event: ChangeEvent) { + event.persist(); + + const getFileFromInput = (file: File): Promise => { + return new Promise(function (resolve, reject) { + const reader = new FileReader(); + reader.onerror = reject; + reader.onload = function () { resolve(reader.result); }; + reader.readAsBinaryString(file); // here the file can be read in different way Text, DataUrl, ArrayBuffer + }); + }; + + if (event.target.files) { + Array.from(event.target.files).forEach(file => { + getFileFromInput(file) + .then((binary) => { + Storage.importStudentAnswersFromJSONFile(binary, file.name); + }).catch(function (reason) { + console.log(`Error during upload ${reason}`); + event.target.value = ""; // to allow upload of same file if error occurs + }); + }); + } + } + + render() { + return ( +
    +
    Import Work From File
    + +
    + ); + } +} diff --git a/src/components/activity-introduction/introduction-page-content.tsx b/src/components/activity-introduction/introduction-page-content.tsx index b8abf09e..a187ddef 100644 --- a/src/components/activity-introduction/introduction-page-content.tsx +++ b/src/components/activity-introduction/introduction-page-content.tsx @@ -4,6 +4,7 @@ import { ActivityPageLinks } from "../activity-introduction/activity-page-links" import "./introduction-page-content.scss"; import { Activity } from "../../types"; +import { ImportAnswers } from "./introduction-import-answers"; interface IProps { activity: Activity; @@ -14,6 +15,7 @@ export const IntroductionPageContent: React.FC = (props) => { const { activity, onPageChange } = props; return (
    +
    Promise + importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => boolean } const FireStoreStorageProvider: StorageInterface = { @@ -109,8 +110,9 @@ const FireStoreStorageProvider: StorageInterface = { setLearnerPluginState: (pluginId: number, state: string) => FirebaseImp.setLearnerPluginState(pluginId,state), checkIfOnline: () => FirebaseImp.checkIfOnline(), - // TODO: Save activity to local JSON file - exportActivityToJSON: (activityId?: string) => Promise.reject("Not yet implemented for Firebase Storage") + // TODO: Save activity to local JSON file and allow reloading from file + exportActivityToJSON: (activityId?: string) => Promise.reject("Not yet implemented for Firebase Storage"), + importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => true }; const indexDBConnection = new DexieStorage(); @@ -178,6 +180,27 @@ const DexieStorageProvider = {...FireStoreStorageProvider, return { activity: currentActivityId, filename, version: kOfflineAnswerSchemaVersion, answers: []}; } }); + }, + + importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => { + console.log(`The file size is ${studentAnswers.length}`); + console.log(`The file name is ${filename}`); + const parsedAnswers = JSON.parse(studentAnswers); + console.log(parsedAnswers); + + // TODO: + // Check the file is the correct type(is json) + // Check the file version is compatible + // Check the file name is in the answer file (unsure if this helps?) + // Check if the student that saved the file is the same as the logged in user + // Warn that uploading answers will overwrite current answers (do we want this, or do we want to only update empty answers?) + // can we reliably detect if this is cheating (answers saved by someone else and sent to friend) + const fileNameFromAnswers = parsedAnswers.filename; + if (fileNameFromAnswers) { + return fileNameFromAnswers.indexOf(filename) > -1; + } else { + return false; + } } }; From 27a0ea21e9e4941d651ddd5ef834ed2492cae670 Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Fri, 26 Feb 2021 10:58:13 -0500 Subject: [PATCH 036/242] Improve verification of uploaded answers --- src/storage-facade.ts | 53 ++++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/src/storage-facade.ts b/src/storage-facade.ts index f7f5c17b..f5b72af1 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -183,24 +183,45 @@ const DexieStorageProvider = {...FireStoreStorageProvider, }, importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => { - console.log(`The file size is ${studentAnswers.length}`); - console.log(`The file name is ${filename}`); - const parsedAnswers = JSON.parse(studentAnswers); - console.log(parsedAnswers); - - // TODO: - // Check the file is the correct type(is json) - // Check the file version is compatible - // Check the file name is in the answer file (unsure if this helps?) - // Check if the student that saved the file is the same as the logged in user - // Warn that uploading answers will overwrite current answers (do we want this, or do we want to only update empty answers?) - // can we reliably detect if this is cheating (answers saved by someone else and sent to friend) - const fileNameFromAnswers = parsedAnswers.filename; - if (fileNameFromAnswers) { - return fileNameFromAnswers.indexOf(filename) > -1; - } else { + + const verifyActivityImport = (answers: ExportableActivity): boolean => { + // TODO: + // Could check the file name is in the answer file (unsure if this helps?) + // Check if the student that saved the file is the same as the logged in user? + // Warn that uploading answers will overwrite current answers (do we want this, or do we want to only update empty answers?) + + if (!answers) { + return false; + } + if (!("activity" in answers)) { + return false; + } + if (!("version" in answers)){ + return false; + } + if (!answers.version || answers.version <= 0 || answers.version > kOfflineAnswerSchemaVersion) { + return false; + } + + console.log(`The file ${filename} appears valid`); + return true; + }; + + try { + const parsedAnswers = JSON.parse(studentAnswers) as ExportableActivity; + if (verifyActivityImport(parsedAnswers)) { + console.log(parsedAnswers); + // TODO: import answers + return true; + } else { + return false; + } + + } catch (ex) { + console.log(ex); return false; } + } }; From ac1253358bd70a933202d94fce83fca3ad7462f7 Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Fri, 26 Feb 2021 17:11:22 -0500 Subject: [PATCH 037/242] Be more explicit with types for export to ensure our types are solid. Imported answers now go into IndexedDB --- src/storage-facade.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/storage-facade.ts b/src/storage-facade.ts index f5b72af1..d28a61f3 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -14,7 +14,7 @@ export interface IWrappedDBAnswer { export type IIndexedDBAnswer = IExportableAnswerMetadata & { activity: string }; -export type ExportableActivity = IIndexedDBAnswer & { activity: string, filename: string, version: number }; +export type ExportableActivity = { activity: string, filename: string, version: number, answers: IIndexedDBAnswer[] }; export const TrackOfflineActivityId = (newId: string) => { _currentOfflineActivityId = newId; @@ -174,10 +174,13 @@ const DexieStorageProvider = {...FireStoreStorageProvider, }; return getAllAnswersFromIndexDB().then((answers: IIndexedDBAnswer[] | null) => { + // Adding an explicit variable for the exportable activity for Typescript reasons + const exportableActivity: ExportableActivity = { activity: currentActivityId, filename, version: kOfflineAnswerSchemaVersion, answers: [] }; if (answers) { - return { activity: currentActivityId, filename, version: kOfflineAnswerSchemaVersion, answers }; + exportableActivity.answers = answers; + return exportableActivity; } else { - return { activity: currentActivityId, filename, version: kOfflineAnswerSchemaVersion, answers: []}; + return exportableActivity; } }); }, @@ -211,7 +214,12 @@ const DexieStorageProvider = {...FireStoreStorageProvider, const parsedAnswers = JSON.parse(studentAnswers) as ExportableActivity; if (verifyActivityImport(parsedAnswers)) { console.log(parsedAnswers); - // TODO: import answers + // Import answers to indexedDB + parsedAnswers.answers.forEach((answer: IIndexedDBAnswer) => { + const idxDBAnswer = answer as IIndexedDBAnswer; + idxDBAnswer.activity = answer.activity; + indexDBConnection.answers.put(idxDBAnswer); + }); return true; } else { return false; From 0523dfddcc79beba8a8b6ec11cf7ce722be8994e Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Mon, 1 Mar 2021 13:58:35 -0500 Subject: [PATCH 038/242] Fix indentation --- src/storage-facade.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/storage-facade.ts b/src/storage-facade.ts index d28a61f3..9ff6c1df 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -216,9 +216,10 @@ const DexieStorageProvider = {...FireStoreStorageProvider, console.log(parsedAnswers); // Import answers to indexedDB parsedAnswers.answers.forEach((answer: IIndexedDBAnswer) => { - const idxDBAnswer = answer as IIndexedDBAnswer; - idxDBAnswer.activity = answer.activity; - indexDBConnection.answers.put(idxDBAnswer); + const idxDBAnswer = answer as IIndexedDBAnswer; + // TODO: what happens if the answers loaded are for a different activity? + idxDBAnswer.activity = answer.activity; + indexDBConnection.answers.put(idxDBAnswer); }); return true; } else { From 63aa7a6209171100f3b9ecfb1005319ef00d19a5 Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Mon, 1 Mar 2021 14:16:29 -0500 Subject: [PATCH 039/242] Tidy up import component --- .../introduction-import-answers.tsx | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/components/activity-introduction/introduction-import-answers.tsx b/src/components/activity-introduction/introduction-import-answers.tsx index 1215282b..46ceaba4 100644 --- a/src/components/activity-introduction/introduction-import-answers.tsx +++ b/src/components/activity-introduction/introduction-import-answers.tsx @@ -3,18 +3,7 @@ import { Storage } from "../../storage-facade"; import "./introduction-import-answers.scss"; -interface IProps { } -interface IState { - // activityJSON: string, - // filename: string -} - -export class ImportAnswers extends React.PureComponent { - - public constructor(props: IProps) { - super(props); - // this.state = {activityJSON: "", filename: "activity"}; - } +export class ImportAnswers extends React.PureComponent { private handleImportFile(event: ChangeEvent) { event.persist(); From 7c003712a03284e04750e2166cb47e9caebeb19e Mon Sep 17 00:00:00 2001 From: Chris Hart Date: Mon, 1 Mar 2021 14:22:01 -0500 Subject: [PATCH 040/242] Remove verbose console statement --- src/storage-facade.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/storage-facade.ts b/src/storage-facade.ts index 9ff6c1df..d74f3d56 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -213,7 +213,6 @@ const DexieStorageProvider = {...FireStoreStorageProvider, try { const parsedAnswers = JSON.parse(studentAnswers) as ExportableActivity; if (verifyActivityImport(parsedAnswers)) { - console.log(parsedAnswers); // Import answers to indexedDB parsedAnswers.answers.forEach((answer: IIndexedDBAnswer) => { const idxDBAnswer = answer as IIndexedDBAnswer; From 450ed85d5948a4c2258ff0bb2c2de6b7fe53bcd7 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 2 Mar 2021 06:27:06 -0500 Subject: [PATCH 041/242] Updated smoke-test manifest --- src/public/offline-manifests/smoke-test.json | 57 ++++++++++++-------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/src/public/offline-manifests/smoke-test.json b/src/public/offline-manifests/smoke-test.json index d120e762..030c3426 100644 --- a/src/public/offline-manifests/smoke-test.json +++ b/src/public/offline-manifests/smoke-test.json @@ -3,12 +3,22 @@ "activities": [ { "name": "AP Smoke Test", - "url": "https://authoring.staging.concord.org/api/v1/activities/20874.json" + "url": "https://authoring.staging.concord.org/api/v1/activities/20936.json" } ], "cacheList": [ + "http://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", + "https://building-models-resources.concord.org/Evaporation/water-drop-300-250.png", + "https://concord.org", + "https://concord.org/", + "https://connected-bio-spaces.concord.org", + "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", "https://fonts.googleapis.com/css?family=Lato", "https://fonts.googleapis.com/css?family=Roboto&display=swap", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXg.woff2", "https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2", "https://leaf-pack.concord.org/branch/main/", "https://picsum.photos/200/300", @@ -25,38 +35,39 @@ "models-resources/glossary-plugin/version/v3.11.0/plugin.js", "models-resources/precip-models/ak-base-map-with-rose.png", "models-resources/question-interactives/branch/master/carousel/", - "models-resources/question-interactives/branch/master/carousel/assets/index.0b3b86dfd64d9a389752.css", - "models-resources/question-interactives/branch/master/carousel/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js", "models-resources/question-interactives/branch/master/drag-and-drop/", - "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.0b3b86dfd64d9a389752.css", - "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.js", "models-resources/question-interactives/branch/master/drawing-tool/", - "models-resources/question-interactives/branch/master/drawing-tool/assets/index.0b3b86dfd64d9a389752.css", - "models-resources/question-interactives/branch/master/drawing-tool/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/drawing-tool/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/drawing-tool/assets/index.ef6640fdbaa59e7d870c.js", "models-resources/question-interactives/branch/master/fill-in-the-blank/", - "models-resources/question-interactives/branch/master/fill-in-the-blank/assets/index.0b3b86dfd64d9a389752.css", - "models-resources/question-interactives/branch/master/fill-in-the-blank/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/fill-in-the-blank/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/fill-in-the-blank/assets/index.ef6640fdbaa59e7d870c.js", "models-resources/question-interactives/branch/master/graph/", - "models-resources/question-interactives/branch/master/graph/assets/index.0b3b86dfd64d9a389752.css", - "models-resources/question-interactives/branch/master/graph/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/graph/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/graph/assets/index.ef6640fdbaa59e7d870c.js", "models-resources/question-interactives/branch/master/image-question/", - "models-resources/question-interactives/branch/master/image-question/assets/index.0b3b86dfd64d9a389752.css", - "models-resources/question-interactives/branch/master/image-question/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/image-question/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/image-question/assets/index.ef6640fdbaa59e7d870c.js", "models-resources/question-interactives/branch/master/image/", - "models-resources/question-interactives/branch/master/image/assets/index.0b3b86dfd64d9a389752.css", - "models-resources/question-interactives/branch/master/image/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/image/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/image/assets/index.ef6640fdbaa59e7d870c.js", "models-resources/question-interactives/branch/master/multiple-choice/", - "models-resources/question-interactives/branch/master/multiple-choice/assets/index.0b3b86dfd64d9a389752.css", - "models-resources/question-interactives/branch/master/multiple-choice/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/multiple-choice/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/multiple-choice/assets/index.ef6640fdbaa59e7d870c.js", + "models-resources/question-interactives/branch/master/open-response", "models-resources/question-interactives/branch/master/open-response/", - "models-resources/question-interactives/branch/master/open-response/assets/index.0b3b86dfd64d9a389752.css", - "models-resources/question-interactives/branch/master/open-response/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/open-response/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/open-response/assets/index.ef6640fdbaa59e7d870c.js", "models-resources/question-interactives/branch/master/scaffolded-question/", - "models-resources/question-interactives/branch/master/scaffolded-question/assets/index.0b3b86dfd64d9a389752.css", - "models-resources/question-interactives/branch/master/scaffolded-question/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/scaffolded-question/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/scaffolded-question/assets/index.ef6640fdbaa59e7d870c.js", "models-resources/question-interactives/branch/master/video-player/", - "models-resources/question-interactives/branch/master/video-player/assets/index.0b3b86dfd64d9a389752.css", - "models-resources/question-interactives/branch/master/video-player/assets/index.0b3b86dfd64d9a389752.js", + "models-resources/question-interactives/branch/master/video-player/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/video-player/assets/index.ef6640fdbaa59e7d870c.js", "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js", "models-resources/vortex/version/v1.2.0/lara-app/assets/index.58055ed0f7e706ef8da7.css", From 063980b761f7bd1b741a7da08ac38dd7b84e3c8c Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 2 Mar 2021 06:48:20 -0500 Subject: [PATCH 042/242] Fixed flash of "no offline activities found" at startup when loading a manifest The flag that denotes the manifest is loading has been hoisted into the constructor from the componentDidMount method so that the initial render does not flash an error message about no offline activites found before the manifest starts loading. --- src/components/app.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 96e998f0..3ebb6256 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -102,6 +102,7 @@ export class App extends React.PureComponent { const offlineManifestAuthoringId = getOfflineManifestAuthoringId(); const offlineManifestId = queryValue("offlineManifest"); + const loadingOfflineManifest = !!offlineManifestId; this.state = { currentPage: 0, @@ -115,7 +116,7 @@ export class App extends React.PureComponent { pluginsLoaded: false, errorType: null, idle: false, - loadingOfflineManifest: false, + loadingOfflineManifest, offlineMode: (queryValue("offline") === "true") || !!offlineManifestAuthoringId || !!offlineManifestId, offlineManifestAuthoringActivities: [], offlineManifestAuthoringCacheList: [], @@ -212,7 +213,7 @@ export class App extends React.PureComponent { async componentDidMount() { try { - const {offlineManifestId, offlineManifestAuthoringId} = this.state; + const {offlineManifestId, offlineManifestAuthoringId, loadingOfflineManifest} = this.state; let offlineManifestAuthoringData: OfflineManifestAuthoringData | undefined; if (offlineManifestAuthoringId) { @@ -220,7 +221,6 @@ export class App extends React.PureComponent { } let offlineManifest: OfflineManifest | undefined = undefined; - const loadingOfflineManifest = !!offlineManifestId; if (offlineManifestId) { offlineManifest = await getOfflineManifest(offlineManifestId); From 41eb7ca507f6efd0c94b6447dc86c912b4669e68 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 2 Mar 2021 07:09:31 -0500 Subject: [PATCH 043/242] Updated offline-manifest test to split contains and click function --- cypress/integration/offline-manifest.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cypress/integration/offline-manifest.test.ts b/cypress/integration/offline-manifest.test.ts index 0a8e3946..1eef148d 100644 --- a/cypress/integration/offline-manifest.test.ts +++ b/cypress/integration/offline-manifest.test.ts @@ -50,7 +50,8 @@ context("Test using offline manifests", () => { // verify clicking on activity loads it and closes the launcher activityPage.getOfflineManifestLoadingDialog({timeout: 0}).should("not.exist"); - activityPage.getOfflineActivityList().contains("AP Smoke Test").click(); + activityPage.getOfflineActivityList().contains("AP Smoke Test"); + activityPage.getOfflineActivityList().click(); activityPage.getActivityTitle().should("be.visible").and("contain", "AP Smoke Test"); }); }); From 9c66ef5e55d4328d5ea7b41942eff3dd2e216ac0 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Thu, 4 Mar 2021 15:19:16 -0500 Subject: [PATCH 044/242] Added skip of network error message when in offline mode [#177187671] --- src/components/app.tsx | 4 ++-- src/components/error/error.test.tsx | 11 ++++++++--- src/components/error/error.tsx | 7 ++++++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 3ebb6256..05b77272 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -342,7 +342,7 @@ export class App extends React.PureComponent { } private renderActivity = () => { - const { activity, idle, errorType, currentPage, username, pluginsLoaded, teacherEditionMode, sequence, portalData, showEditUserName } = this.state; + const { activity, idle, errorType, currentPage, username, pluginsLoaded, teacherEditionMode, sequence, portalData, showEditUserName, offlineMode } = this.state; if (!activity) return (
    Loading activity ...
    ); const totalPreviousQuestions = numQuestionsOnPreviousPages(currentPage, activity); const fullWidth = (currentPage !== 0) && (activity.pages[currentPage - 1].layout === PageLayouts.Responsive); @@ -394,7 +394,7 @@ export class App extends React.PureComponent { onTimeout={this.handleTimeout} onContinue={this.handleContinueSession} onExit={this.goToPortal} /> } - { errorType && } + { errorType && } { !idle && !errorType && this.renderActivityContent(activity, currentPage, totalPreviousQuestions, fullWidth) diff --git a/src/components/error/error.test.tsx b/src/components/error/error.test.tsx index 11a3c7ed..0468940b 100644 --- a/src/components/error/error.test.tsx +++ b/src/components/error/error.test.tsx @@ -8,13 +8,18 @@ describe("Error component", () => { expect(wrapper.find('[data-cy="error"]').length).toBe(1); expect(wrapper.text()).toContain(errorMsg.auth); }); - - it("renders network error message", () => { + + it("renders network error message when not in offline mode", () => { const wrapper = shallow(); expect(wrapper.find('[data-cy="error"]').length).toBe(1); expect(wrapper.text()).toContain(errorMsg.network); }); - + + it("does not render network error message when in offline mode", () => { + const wrapper = shallow(); + expect(wrapper.find('[data-cy="error"]').length).toBe(0); + }); + it("renders session timeout error message", () => { const wrapper = shallow(); expect(wrapper.find('[data-cy="error"]').length).toBe(1); diff --git a/src/components/error/error.tsx b/src/components/error/error.tsx index 298d6bde..2873c98a 100644 --- a/src/components/error/error.tsx +++ b/src/components/error/error.tsx @@ -5,6 +5,7 @@ import "./error.scss"; interface IProps { type: ErrorType; onExit: () => void; + offlineMode?: boolean; } export const errorMsg: Record = { @@ -13,8 +14,12 @@ export const errorMsg: Record = { timeout: "Your session has expired." }; +export const Error: React.FC = ({ type, onExit, offlineMode }) => { + // do not show network errors when in offline mode + if (offlineMode && (type === "network")) { + return null; + } -export const Error: React.FC = ({ type, onExit }) => { return (

    Hmm... we're having trouble connecting.

    From 7902eb4396631d7e8bee1f7a450242fc9cc9c6a7 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Mon, 8 Mar 2021 10:04:17 -0500 Subject: [PATCH 045/242] Temporarily remove breaking Cypress tests to enable builds We need the offline-mode branch merges to build and they are not with these tests breaking. A follow-on PR will fix the tests once we have a deployed offline-mode branch. --- cypress/integration/data-saving-anonymous.ts | 13 +++++++++++++ cypress/integration/offline-manifest.test.ts | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/cypress/integration/data-saving-anonymous.ts b/cypress/integration/data-saving-anonymous.ts index 0e523f45..8d3c1bc4 100644 --- a/cypress/integration/data-saving-anonymous.ts +++ b/cypress/integration/data-saving-anonymous.ts @@ -7,18 +7,29 @@ const activityPage = new ActivityPage; context("Saving and loading data as an anonymous user", () => { describe("Setting the run key", () => { + + /* + + FIXME: COMMENTED OUT TO ENABLE BRANCH BUILD + it("will set the run key if we are not in preview mode", () => { cy.visit("?activity=sample-activity-1"); activityPage.getNavPage(2).click(); cy.url().should("include", "runKey"); }); + */ + it("will not set the run key if we are in preview mode", () => { cy.visit("?activity=sample-activity-1&preview"); cy.url().should("not.include", "runKey"); }); }); + /* + + FIXME: COMMENTED OUT TO ENABLE BRANCH BUILD + describe("Saving and loading data", () => { const runKey = uuidv4(); const activityUrl = "?activity=sample-activity-1&enableFirestorePersistence"; @@ -75,4 +86,6 @@ context("Saving and loading data as an anonymous user", () => { getIframeBody("body").find("[data-cy=choices-container] input").eq(1).should("not.be.checked"); }); }); + + */ }); diff --git a/cypress/integration/offline-manifest.test.ts b/cypress/integration/offline-manifest.test.ts index 1eef148d..71c36133 100644 --- a/cypress/integration/offline-manifest.test.ts +++ b/cypress/integration/offline-manifest.test.ts @@ -45,6 +45,10 @@ context("Test using offline manifests", () => { activityPage.getOfflineActivities().should("be.visible").and("contain", "AP Smoke Test"); }); + /* + + FIXME: COMMENTED OUT TO ENABLE BRANCH BUILD + it("verify offline activities show and clicking an item loads it",() => { cy.visit("?offlineManifest=smoke-test"); @@ -54,5 +58,7 @@ context("Test using offline manifests", () => { activityPage.getOfflineActivityList().click(); activityPage.getActivityTitle().should("be.visible").and("contain", "AP Smoke Test"); }); + + */ }); }); From 9b868263e91cb2b76cfc49cbe3b17479e1b72c64 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Mon, 8 Mar 2021 12:02:11 -0500 Subject: [PATCH 046/242] Fixed broken offline-mode Cypress tests 1. Fixed selector in offline-manifest test 2, Fixed window open test in opening-reports test --- cypress/integration/offline-manifest.test.ts | 18 ++++++------------ cypress/integration/opening-reports.test.ts | 9 ++++----- src/public/offline-manifests/smoke-test.json | 4 ++-- 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/cypress/integration/offline-manifest.test.ts b/cypress/integration/offline-manifest.test.ts index 71c36133..606f70c2 100644 --- a/cypress/integration/offline-manifest.test.ts +++ b/cypress/integration/offline-manifest.test.ts @@ -39,26 +39,20 @@ context("Test using offline manifests", () => { cy.visit("?offlineManifest=smoke-test"); // verify loading dialog shows and then auto closes - activityPage.getOfflineManifestLoadingDialog().should("be.visible").and("contain", "AP Smoke Test"); + activityPage.getOfflineManifestLoadingDialog().should("be.visible").and("contain", "APO Smoke Test"); // verify offline activities list shows - activityPage.getOfflineActivities().should("be.visible").and("contain", "AP Smoke Test"); + activityPage.getOfflineActivities().should("be.visible").and("contain", "APO Smoke Test"); }); - /* - - FIXME: COMMENTED OUT TO ENABLE BRANCH BUILD - it("verify offline activities show and clicking an item loads it",() => { - cy.visit("?offlineManifest=smoke-test"); + cy.visit("?offline=true"); // verify clicking on activity loads it and closes the launcher activityPage.getOfflineManifestLoadingDialog({timeout: 0}).should("not.exist"); - activityPage.getOfflineActivityList().contains("AP Smoke Test"); - activityPage.getOfflineActivityList().click(); - activityPage.getActivityTitle().should("be.visible").and("contain", "AP Smoke Test"); + activityPage.getOfflineActivityList().contains("APO Smoke Test"); + activityPage.getOfflineActivityList().first().click(); + activityPage.getActivityTitle().should("be.visible").and("contain", "APO Smoke Test"); }); - - */ }); }); diff --git a/cypress/integration/opening-reports.test.ts b/cypress/integration/opening-reports.test.ts index 048927e1..68a1cb40 100644 --- a/cypress/integration/opening-reports.test.ts +++ b/cypress/integration/opening-reports.test.ts @@ -23,10 +23,9 @@ context("Test Opening Portal Reports from various places", () => { fixture: "sample-activity-1.json" } ); - cy.visit(activityPlayerUrl, { - onBeforeLoad(win) { - cy.stub(win, "open"); - } + cy.visit(activityPlayerUrl); + cy.window().then((win) => { + cy.stub(win, "open").as("windowOpen"); }); activityPage.getPage(3).click(); cy.wait(1000); @@ -34,7 +33,7 @@ context("Test Opening Portal Reports from various places", () => { describe("Open report from end of activity without completion page", () => { it("verify correct link is sent to the portal report", () => { cy.get("[data-cy=progress-container] > .button").should("be.visible").click(); - cy.window().its("open").should("be.calledWith", + cy.get("@windowOpen").should("be.calledWith", portalReportUrl + "?runKey=" + runKey + "&activity=" + activityStructureUrl + "&answersSourceKey=authoring.staging.concord.org"); diff --git a/src/public/offline-manifests/smoke-test.json b/src/public/offline-manifests/smoke-test.json index 030c3426..5625a05a 100644 --- a/src/public/offline-manifests/smoke-test.json +++ b/src/public/offline-manifests/smoke-test.json @@ -1,8 +1,8 @@ { - "name": "AP Smoke Test", + "name": "APO Smoke Test", "activities": [ { - "name": "AP Smoke Test", + "name": "APO Smoke Test", "url": "https://authoring.staging.concord.org/api/v1/activities/20936.json" } ], From 82831e91a381714d411cdefffc59409af731556d Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 1 Mar 2021 17:37:10 -0500 Subject: [PATCH 047/242] Refactor Storage Classes (Firestore & Dexie) We converted anonymous storage objects into Classes. WIP: Rebase me so that I can be cleaned up. --- .../completion-page-content.tsx | 2 + .../completion-report-my-work.scss | 18 ++ .../completion-report-my-work.tsx | 44 ++++ src/components/app.tsx | 7 +- src/firebase-db.ts | 11 + src/storage-facade.ts | 246 ++++++++++++++---- src/student-info.ts | 6 +- 7 files changed, 279 insertions(+), 55 deletions(-) create mode 100644 src/components/activity-completion/completion-report-my-work.scss create mode 100644 src/components/activity-completion/completion-report-my-work.tsx diff --git a/src/components/activity-completion/completion-page-content.tsx b/src/components/activity-completion/completion-page-content.tsx index 667daa5e..1bec53fd 100644 --- a/src/components/activity-completion/completion-page-content.tsx +++ b/src/components/activity-completion/completion-page-content.tsx @@ -7,6 +7,7 @@ import { Storage } from "../../storage-facade"; import { isQuestion } from "../../utilities/activity-utils"; import { refIdToAnswersQuestionId } from "../../utilities/embeddable-utils"; import { CompletionExportAnswers } from "./completion-export-answers"; +import { CompletionReportMyWork } from "./completion-report-my-work"; import ccPlaceholderLogo from "../../assets/cc-placeholder.png"; import "./completion-page-content.scss"; @@ -129,6 +130,7 @@ export const CompletionPageContent: React.FC = (props) => { {progressText}
    + {showStudentReport && }
    diff --git a/src/components/activity-completion/completion-report-my-work.scss b/src/components/activity-completion/completion-report-my-work.scss new file mode 100644 index 00000000..9892044a --- /dev/null +++ b/src/components/activity-completion/completion-report-my-work.scss @@ -0,0 +1,18 @@ +@import "../vars.scss"; + +.completion-report-my-work{ + button { + width: 260px; + height: 44px; + margin: 10px 21px 10px 0; + padding: 9px 40px 10px; + border-radius: 4px; + border: solid 1.5px $cc-charcoal-light1; + background-color: $cc-orange; + + &.disabled { + opacity: 0.35; + border-radius: 4px; + } + } +} \ No newline at end of file diff --git a/src/components/activity-completion/completion-report-my-work.tsx b/src/components/activity-completion/completion-report-my-work.tsx new file mode 100644 index 00000000..b0704a7c --- /dev/null +++ b/src/components/activity-completion/completion-report-my-work.tsx @@ -0,0 +1,44 @@ +import React from "react"; +import { Storage } from "../../storage-facade"; + +import "./completion-report-my-work.scss"; + +interface IProps { } +interface IState { } + +export class CompletionReportMyWork extends React.PureComponent { + + readonly ReportHelpText = ` + Share any work you have done in this activity with your teacher. + You will have to be connected to the internet.`; + + public constructor(props: IProps) { + super(props); + } + + async componentDidMount() { + // const activityJSONComplete = await Storage.exportActivityToJSON(); + // const filename = activityJSONComplete.filename; + // this.setState({ activityJSON: JSON.stringify(activityJSONComplete), filename }); + } + + render() { + + const className = Storage.canSyncData() ? "enabled" : "disabled"; + const clickAction = Storage.canSyncData() + ? () => Storage.syncData() + : () => null; + return ( +
    + +
    + {this.ReportHelpText} +
    +
    + ); + } +} diff --git a/src/components/app.tsx b/src/components/app.tsx index 05b77272..2c8bd7f8 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -95,15 +95,16 @@ export class App extends React.PureComponent { public constructor(props: IProps) { super(props); - this.studentInfo = new StudentInfo(); + // set the offline manifest authoring localstorage item if it exists in the params and then read from localstorage // this is done in the constructor as the state value is needed in the UNSAFE_componentWillMount method setOfflineManifestAuthoringId(queryValue("setOfflineManifestAuthoringId")); const offlineManifestAuthoringId = getOfflineManifestAuthoringId(); - const offlineManifestId = queryValue("offlineManifest"); const loadingOfflineManifest = !!offlineManifestId; + const offlineMode = (queryValue("offline") === "true") || !!offlineManifestAuthoringId || !!offlineManifestId; + this.studentInfo = new StudentInfo(); this.state = { currentPage: 0, teacherEditionMode: false, @@ -117,7 +118,7 @@ export class App extends React.PureComponent { errorType: null, idle: false, loadingOfflineManifest, - offlineMode: (queryValue("offline") === "true") || !!offlineManifestAuthoringId || !!offlineManifestId, + offlineMode, offlineManifestAuthoringActivities: [], offlineManifestAuthoringCacheList: [], showOfflineManifestInstallConfirmation: queryValue("confirmOfflineManifestInstall") === "true", diff --git a/src/firebase-db.ts b/src/firebase-db.ts index c77e5dbb..167871ab 100644 --- a/src/firebase-db.ts +++ b/src/firebase-db.ts @@ -127,6 +127,17 @@ export const signInWithToken = async (rawFirestoreJWT: string) => { return app.auth().signInWithCustomToken(rawFirestoreJWT); }; +export const signOut = async() =>{ + try { + await app.auth().signOut(); + } + catch(e) { + // maybe we weren't signed in? + console.error("unable to signout from FireStore:"); + console.error(e); + } +}; + export const setPortalData = (_portalData: IPortalData | null) => { portalData = _portalData; }; diff --git a/src/storage-facade.ts b/src/storage-facade.ts index d74f3d56..8b29c286 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -2,7 +2,7 @@ import * as FirebaseImp from "./firebase-db"; import { IAnonymousPortalData, IPortalData } from "./portal-api"; import { IExportableAnswerMetadata } from "./types"; -import {DexieStorage} from "./dexie-storage"; +import { DexieStorage } from "./dexie-storage"; import { refIdToAnswersQuestionId } from "./utilities/embeddable-utils"; export interface IStorageInitializer { name: FirebaseImp.FirebaseAppName, preview: boolean } @@ -19,6 +19,7 @@ export type ExportableActivity = { activity: string, filename: string, version: export const TrackOfflineActivityId = (newId: string) => { _currentOfflineActivityId = newId; }; + let _currentOfflineActivityId = "/testactivity.json"; export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { @@ -57,18 +58,18 @@ const activityExportFileName = (activity: string) => { return ["Activity_", activity, "_", year, month, day].join(""); }; -export interface StorageInterface { +export interface IStorageInterface { // These seem to be FireStore specific: - onFirestoreSaveTimeout: (handler: () => void) => void, - onFirestoreSaveAfterTimeout: (handler: () => void) => void, - initializeDB: ({name, preview}: IStorageInitializer) => Promise, - initializeAnonymousDB: (preview: boolean) => Promise - signInWithToken: (rawFirestoreJWT: string) => Promise, + // onFirestoreSaveTimeout?: (handler: () => void) => void, + // onFirestoreSaveAfterTimeout?: (handler: () => void) => void, + // initializeDB: ({name, preview}: IStorageInitializer) => Promise, + // initializeAnonymousDB?: (preview: boolean) => Promise + // signInWithToken: (rawFirestoreJWT: string) => Promise, // These seem like authentication and identity concerns, and should be extracted: setPortalData: (_portalData: IPortalData | null) => void, getPortalData: () => IPortalData | IAnonymousPortalData | null, - setAnonymousPortalData: (_portalData: IAnonymousPortalData) => void, + // setAnonymousPortalData: (_portalData: IAnonymousPortalData) => void, // These are directly related to storing student answers and fetching them back watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void): () => void @@ -81,66 +82,153 @@ export interface StorageInterface { checkIfOnline: () => Promise, // for saving a whole activity to JSON - exportActivityToJSON: (activityId?: string) => Promise - importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => boolean + exportActivityToJSON: (activityId?: string) => Promise, + importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => boolean, + canSyncData(): boolean, + syncData(): void } -const FireStoreStorageProvider: StorageInterface = { +class FireStoreStorageProvider implements IStorageInterface { // TODO: Specific to FireStore: - onFirestoreSaveTimeout: (handler: () => void) => FirebaseImp.onFirestoreSaveTimeout(handler), - onFirestoreSaveAfterTimeout: (handler: () => void) => FirebaseImp.onFirestoreSaveAfterTimeout(handler), - initializeDB: ({name, preview}: IStorageInitializer) => FirebaseImp.initializeDB({name, preview}), - initializeAnonymousDB: (preview: boolean) => FirebaseImp.initializeAnonymousDB(preview), - signInWithToken: (rawFirestoreJWT: string) =>FirebaseImp.signInWithToken(rawFirestoreJWT), + onFirestoreSaveTimeout(handler: () => void) { + return FirebaseImp.onFirestoreSaveTimeout(handler); + } + + onFirestoreSaveAfterTimeout (handler: () => void) { + return FirebaseImp.onFirestoreSaveAfterTimeout(handler); + } + + initializeDB ({name, preview}: IStorageInitializer) { + return FirebaseImp.initializeDB({name, preview}); + } + + initializeAnonymousDB(preview: boolean) { + return FirebaseImp.initializeAnonymousDB(preview); + } + + signInWithToken(rawFirestoreJWT: string){ + return FirebaseImp.signInWithToken(rawFirestoreJWT); + } // TODO: authentication and identity concerns, and should be extracted elsewhere: - setPortalData: (_portalData: IPortalData | null) => FirebaseImp.setPortalData(_portalData), - getPortalData: () => FirebaseImp.getPortalData(), - setAnonymousPortalData: (_portalData: IAnonymousPortalData) => FirebaseImp.setAnonymousPortalData(_portalData), + setPortalData (_portalData: IPortalData | null) { + return FirebaseImp.setPortalData(_portalData); + } + + getPortalData() { + return FirebaseImp.getPortalData(); + } + + setAnonymousPortalData(_portalData: IAnonymousPortalData){ + return FirebaseImp.setAnonymousPortalData(_portalData); + } // Saving and Loading student work - watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void) => FirebaseImp.watchAnswer(embeddableRefId, callback), - watchAllAnswers: (callback: (wrappedAnswer: IWrappedDBAnswer[]) => void) => FirebaseImp.watchAllAnswers(callback), + watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void){ + return FirebaseImp.watchAnswer(embeddableRefId, callback); + } + + watchAllAnswers(callback: (wrappedAnswer: IWrappedDBAnswer[]) => void){ + return FirebaseImp.watchAllAnswers(callback); + } // Save an answer to Firebase - createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => FirebaseImp.createOrUpdateAnswer(answer), - getLearnerPluginStateDocId: (pluginId: number) => FirebaseImp.getLearnerPluginStateDocId(pluginId), - getCachedLearnerPluginState: (pluginId: number) => FirebaseImp.getCachedLearnerPluginState(pluginId), - getLearnerPluginState: (pluginId: number) => FirebaseImp.getLearnerPluginState(pluginId), - setLearnerPluginState: (pluginId: number, state: string) => FirebaseImp.setLearnerPluginState(pluginId,state), - checkIfOnline: () => FirebaseImp.checkIfOnline(), + createOrUpdateAnswer(answer: IExportableAnswerMetadata) { + return FirebaseImp.createOrUpdateAnswer(answer); + } + + getLearnerPluginStateDocId(pluginId: number){ + return FirebaseImp.getLearnerPluginStateDocId(pluginId); + } + + getCachedLearnerPluginState(pluginId: number) { + return FirebaseImp.getCachedLearnerPluginState(pluginId); + } + + getLearnerPluginState(pluginId: number) { + return FirebaseImp.getLearnerPluginState(pluginId); + } + + setLearnerPluginState(pluginId: number, state: string){ + return FirebaseImp.setLearnerPluginState(pluginId,state); + } + + checkIfOnline() { + return FirebaseImp.checkIfOnline(); + } // TODO: Save activity to local JSON file and allow reloading from file - exportActivityToJSON: (activityId?: string) => Promise.reject("Not yet implemented for Firebase Storage"), - importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => true -}; + exportActivityToJSON(activityId?: string) { + return Promise.reject("Not yet implemented for Firebase Storage"); + } -const indexDBConnection = new DexieStorage(); + importStudentAnswersFromJSONFile(studentAnswers: string, filename: string) { + return true; + } -const DexieStorageProvider = {...FireStoreStorageProvider, + canSyncData() { + // We are FireStore, so our data is synced by default.... + return false; + } + syncData(){ + return null; + } - createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => { + signOut() { + FirebaseImp.signOut(); + } +} + + + +class DexieStorageProvider implements IStorageInterface { + indexDBConnection: DexieStorage; + portalData: IPortalData|null; + haveFireStoreConnection: boolean; + + constructor(){ + this.indexDBConnection = new DexieStorage(); + this.haveFireStoreConnection = false; + } + + createOrUpdateAnswer(answer: IExportableAnswerMetadata) { const idxDBAnswer = answer as IIndexedDBAnswer; idxDBAnswer.activity = _currentOfflineActivityId; - indexDBConnection.answers.put(idxDBAnswer); - }, + this.indexDBConnection.answers.put(idxDBAnswer); + } + - watchAllAnswers: (callback: (wrappedAnswer: IWrappedDBAnswer[]) => void) => { - const foundAnswers = indexDBConnection + setPortalData(_portalData: IPortalData | null) { + // TODO: Implement this + // setPortalData: (_portalData: IPortalData | null) => FirebaseImp.setPortalData(_portalData), + // Record Tokens for playback to FireStore later + this.portalData = _portalData; + } + + getPortalData() { + return this.portalData; + } + + watchAllAnswers(callback: (wrappedAnswer: IWrappedDBAnswer[]) => void){ + console.log("WatchAllAnsweres called"); + console.log(`current activity: ${_currentOfflineActivityId}`); + + const foundAnswers = this.indexDBConnection .answers .where("activity") .equals(_currentOfflineActivityId) .toArray(); return foundAnswers.then((answers) => { + console.dir(answers); const response = answers.map( (a) => docToWrappedAnswer(a)); callback(response); }); - }, + } - watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void) => { + watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void) { const questionId = refIdToAnswersQuestionId(embeddableRefId); const getAnswerFromIndexDB = (qID: string) => { - const foundAnswers = indexDBConnection + const foundAnswers = this.indexDBConnection .answers .where("question_id") .equals(qID).toArray(); @@ -156,15 +244,17 @@ const DexieStorageProvider = {...FireStoreStorageProvider, callback(null); } }); - }, - + // TODO: We are supposed to return a function that will stop observing the answer ... + // We aren't actually watching anything... + return ()=>null; + } - exportActivityToJSON: (activityId?: string) => { + exportActivityToJSON(activityId?: string) { const currentActivityId = activityId ? activityId : _currentOfflineActivityId; const activityShortId = currentActivityId.indexOf("/") > -1 ? currentActivityId.substr(currentActivityId.lastIndexOf("/")+1).replace(".json", "") : currentActivityId; const filename = activityExportFileName(activityShortId); const getAllAnswersFromIndexDB = () => { - const foundAnswers = indexDBConnection + const foundAnswers = this.indexDBConnection .answers .where("activity") .equals(currentActivityId).toArray(); @@ -183,9 +273,9 @@ const DexieStorageProvider = {...FireStoreStorageProvider, return exportableActivity; } }); - }, + } - importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => { + importStudentAnswersFromJSONFile(studentAnswers: string, filename: string) { const verifyActivityImport = (answers: ExportableActivity): boolean => { // TODO: @@ -218,7 +308,7 @@ const DexieStorageProvider = {...FireStoreStorageProvider, const idxDBAnswer = answer as IIndexedDBAnswer; // TODO: what happens if the answers loaded are for a different activity? idxDBAnswer.activity = answer.activity; - indexDBConnection.answers.put(idxDBAnswer); + this.indexDBConnection.answers.put(idxDBAnswer); }); return true; } else { @@ -229,8 +319,66 @@ const DexieStorageProvider = {...FireStoreStorageProvider, console.log(ex); return false; } + } + getLearnerPluginStateDocId(pluginId: number){ + return undefined; } -}; + getCachedLearnerPluginState(pluginId: number){ + return null; + } + getLearnerPluginState(pluginId: number){ + return Promise.resolve(null); + } + setLearnerPluginState(pluginId: number, state: string){ + return Promise.resolve(""); + } + checkIfOnline() { + return Promise.resolve(false); + } + + canSyncData() { + const portalToken = this.portalData?.portalJWT; + if(portalToken) { + const { exp } = portalToken; + const unixTimeStamp = Math.floor(Date.now()/1000); + return (unixTimeStamp < exp); + } + return false; + } + + async syncData() { + const fsProvider = new FireStoreStorageProvider(); + const portalData = this.portalData; + const appName = portalData?.database.appName ?? "report-service-dev"; + if(portalData) { + try { + if(! this.haveFireStoreConnection) { + await fsProvider.initializeDB({ name: appName, preview: false }); + await fsProvider.signInWithToken(portalData.database.rawFirebaseJWT); + this.haveFireStoreConnection = true; + } + + fsProvider.setPortalData(this.portalData); + const answers = await this.indexDBConnection + .answers + .where("activity") + .equals(_currentOfflineActivityId).toArray(); + console.dir(answers); + debugger; + for(const answer of answers) { + fsProvider.createOrUpdateAnswer(answer); + } + } + catch(e) { + console.error("Could not sync local indexDB to FireStore:"); + console.error(e); + this.haveFireStoreConnection = false; + fsProvider.signOut(); + } + } + } +} + -export const Storage = DexieStorageProvider; +export const Storage: IStorageInterface = new DexieStorageProvider(); diff --git a/src/student-info.ts b/src/student-info.ts index 2ecdb775..b95b4bba 100644 --- a/src/student-info.ts +++ b/src/student-info.ts @@ -50,14 +50,12 @@ export class StudentInfo implements IStudentRecord { dataReady: boolean; private _validTokens: boolean; - constructor() { // Start with defaults. // Calling async operation init() will load real values. this.loadDefaults(); } - private loadDefaults() { this.role = "student"; this.name = DEFAULT_STUDENT_NAME; @@ -168,6 +166,9 @@ export class StudentInfo implements IStudentRecord { } private updateFromPortalData(portalData: IPortalData) { + // Raw Portal Data JWT includes expiration time (`exp`) and Issued at (`iat`) + // exp: 1614635737 + // iat: 1614632137 this.rawPortalData = portalData; this.name = portalData.fullName ?? DEFAULT_STUDENT_NAME; this.teacherName = portalData?.classInfo?.teachers[0]?.fullName ?? DEFAULT_TEACHER_NAME; @@ -185,7 +186,6 @@ export class StudentInfo implements IStudentRecord { Storage.setPortalData(this.rawPortalData); this.dataReady = true; } - } From 0dbf9e4f140fce166fa73fec78a55bd9d0dc675f Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 4 Mar 2021 17:21:39 -0500 Subject: [PATCH 048/242] Move the storage interfaces to one folder --- .../completion-export-answers.tsx | 2 +- .../completion-page-content.tsx | 2 +- .../completion-report-my-work.tsx | 2 +- .../introduction-import-answers.tsx | 2 +- .../managed-interactive/iframe-runtime.tsx | 2 +- .../managed-interactive.tsx | 2 +- src/components/app.tsx | 3 +- src/lara-plugin/plugins/plugin-context.ts | 2 +- src/offline-manifest-api.ts | 2 +- src/portal-api.ts | 2 +- src/{ => storage}/dexie-storage.ts | 0 src/{ => storage}/firebase-db.test.ts | 6 ++-- src/{ => storage}/firebase-db.ts | 10 +++--- src/{ => storage}/storage-facade.ts | 33 ++++++++++--------- src/student-info.ts | 2 +- src/utilities/plugin-utils.ts | 2 +- src/utilities/report-utils.ts | 2 +- 17 files changed, 39 insertions(+), 37 deletions(-) rename src/{ => storage}/dexie-storage.ts (100%) rename src/{ => storage}/firebase-db.test.ts (97%) rename src/{ => storage}/firebase-db.ts (98%) rename src/{ => storage}/storage-facade.ts (92%) diff --git a/src/components/activity-completion/completion-export-answers.tsx b/src/components/activity-completion/completion-export-answers.tsx index 5c957c56..5eddbf4e 100644 --- a/src/components/activity-completion/completion-export-answers.tsx +++ b/src/components/activity-completion/completion-export-answers.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { Storage } from "../../storage-facade"; +import { Storage } from "../../storage/storage-facade"; import "./completion-export-answers.scss"; diff --git a/src/components/activity-completion/completion-page-content.tsx b/src/components/activity-completion/completion-page-content.tsx index 1bec53fd..380742fe 100644 --- a/src/components/activity-completion/completion-page-content.tsx +++ b/src/components/activity-completion/completion-page-content.tsx @@ -3,7 +3,7 @@ import IconCheck from "../../assets/svg-icons/icon-check.svg"; import { showReport } from "../../utilities/report-utils"; import { Sequence, Activity, EmbeddableWrapper, Page } from "../../types"; import { renderHTML } from "../../utilities/render-html"; -import { Storage } from "../../storage-facade"; +import { Storage } from "../../storage/storage-facade"; import { isQuestion } from "../../utilities/activity-utils"; import { refIdToAnswersQuestionId } from "../../utilities/embeddable-utils"; import { CompletionExportAnswers } from "./completion-export-answers"; diff --git a/src/components/activity-completion/completion-report-my-work.tsx b/src/components/activity-completion/completion-report-my-work.tsx index b0704a7c..a8b17058 100644 --- a/src/components/activity-completion/completion-report-my-work.tsx +++ b/src/components/activity-completion/completion-report-my-work.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { Storage } from "../../storage-facade"; +import { Storage } from "../../storage/storage-facade"; import "./completion-report-my-work.scss"; diff --git a/src/components/activity-introduction/introduction-import-answers.tsx b/src/components/activity-introduction/introduction-import-answers.tsx index 46ceaba4..91689f6d 100644 --- a/src/components/activity-introduction/introduction-import-answers.tsx +++ b/src/components/activity-introduction/introduction-import-answers.tsx @@ -1,5 +1,5 @@ import React, { ChangeEvent } from "react"; -import { Storage } from "../../storage-facade"; +import { Storage } from "../../storage/storage-facade"; import "./introduction-import-answers.scss"; diff --git a/src/components/activity-page/managed-interactive/iframe-runtime.tsx b/src/components/activity-page/managed-interactive/iframe-runtime.tsx index 71eebc88..bd3b317f 100644 --- a/src/components/activity-page/managed-interactive/iframe-runtime.tsx +++ b/src/components/activity-page/managed-interactive/iframe-runtime.tsx @@ -11,7 +11,7 @@ import { } from "@concord-consortium/lara-interactive-api"; import Shutterbug from "shutterbug"; import { Logger } from "../../../lib/logger"; -import { Storage } from "../../../storage-facade"; +import { Storage } from "../../../storage/storage-facade"; import { IEventListener, pluginInfo } from "../../../lara-plugin/plugin-api/decorate-content"; import { autorun } from "mobx"; diff --git a/src/components/activity-page/managed-interactive/managed-interactive.tsx b/src/components/activity-page/managed-interactive/managed-interactive.tsx index 79b220a4..39aff4eb 100644 --- a/src/components/activity-page/managed-interactive/managed-interactive.tsx +++ b/src/components/activity-page/managed-interactive/managed-interactive.tsx @@ -8,7 +8,7 @@ import { } from "@concord-consortium/lara-interactive-api"; import { PortalDataContext } from "../../portal-data-context"; import { IManagedInteractive, IMwInteractive, LibraryInteractiveData, IExportableAnswerMetadata } from "../../../types"; -import { Storage } from "../../../storage-facade"; +import { Storage } from "../../../storage/storage-facade"; import { handleGetFirebaseJWT } from "../../../portal-utils"; import { getAnswerWithMetadata, isQuestion } from "../../../utilities/embeddable-utils"; import IconQuestion from "../../../assets/svg-icons/icon-question.svg"; diff --git a/src/components/app.tsx b/src/components/app.tsx index 2c8bd7f8..6fe61016 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -15,7 +15,7 @@ import { CompletionPageContent } from "./activity-completion/completion-page-con import { queryValue, queryValueBoolean } from "../utilities/url-query"; import { IPortalData, firebaseAppName } from "../portal-api"; import { Activity, IEmbeddablePlugin, OfflineManifest, OfflineManifestActivity, Sequence } from "../types"; -import { TrackOfflineActivityId } from "../storage-facade"; +import { TrackOfflineActivityId } from "../storage/storage-facade"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; import { loadPluginScripts, getGlossaryEmbeddable, loadLearnerPluginState } from "../utilities/plugin-utils"; @@ -105,6 +105,7 @@ export class App extends React.PureComponent { const offlineMode = (queryValue("offline") === "true") || !!offlineManifestAuthoringId || !!offlineManifestId; this.studentInfo = new StudentInfo(); + this.state = { currentPage: 0, teacherEditionMode: false, diff --git a/src/lara-plugin/plugins/plugin-context.ts b/src/lara-plugin/plugins/plugin-context.ts index cf8f0d14..8a33f9fa 100644 --- a/src/lara-plugin/plugins/plugin-context.ts +++ b/src/lara-plugin/plugins/plugin-context.ts @@ -7,7 +7,7 @@ import $ from "jquery"; // LARA_CODE import * as $ from "jquery"; // ACTIVITY_PLAYER_CODE: import { Logger } from "../../lib/logger"; -import { Storage } from "../../storage-facade"; +import { Storage } from "../../storage/storage-facade"; import { getFirebaseJWT } from "../../portal-api"; export type IPluginContextOptions = IPluginRuntimeContextOptions | IPluginAuthoringContextOptions; diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index 5065f072..17474cb1 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -1,4 +1,4 @@ -import { DexieStorage } from "./dexie-storage"; +import { DexieStorage } from "./storage/dexie-storage"; import { OfflineManifest, OfflineManifestActivity } from "./types"; const dexie = new DexieStorage(); diff --git a/src/portal-api.ts b/src/portal-api.ts index 2ef1b753..dbebbd22 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -2,8 +2,8 @@ import jwt from "jsonwebtoken"; import superagent from "superagent"; import { v4 as uuidv4 } from "uuid"; import { queryValue, setQueryValue } from "./utilities/url-query"; -import { FirebaseAppName } from "./firebase-db"; import { getResourceUrl } from "./lara-api"; +import { FirebaseAppName } from "./storage/firebase-db"; interface PortalClassOffering { className: string; diff --git a/src/dexie-storage.ts b/src/storage/dexie-storage.ts similarity index 100% rename from src/dexie-storage.ts rename to src/storage/dexie-storage.ts diff --git a/src/firebase-db.test.ts b/src/storage/firebase-db.test.ts similarity index 97% rename from src/firebase-db.test.ts rename to src/storage/firebase-db.test.ts index f381cd14..16a9e8e3 100644 --- a/src/firebase-db.test.ts +++ b/src/storage/firebase-db.test.ts @@ -1,8 +1,8 @@ import { IRuntimeMetadata } from "@concord-consortium/lara-interactive-api"; import { setPortalData, setAnonymousPortalData, createOrUpdateAnswer, initializeDB, signInWithToken, setLearnerPluginState, getLearnerPluginStateDocId, getLearnerPluginState } from "./firebase-db"; -import { DefaultManagedInteractive } from "./test-utils/model-for-tests"; -import { getAnswerWithMetadata } from "./utilities/embeddable-utils"; -import { IExportableAnswerMetadata } from "./types"; +import { DefaultManagedInteractive } from "../test-utils/model-for-tests"; +import { getAnswerWithMetadata } from "../utilities/embeddable-utils"; +import { IExportableAnswerMetadata } from "../types"; import firebase from "firebase/app"; import "firebase/firestore"; diff --git a/src/firebase-db.ts b/src/storage/firebase-db.ts similarity index 98% rename from src/firebase-db.ts rename to src/storage/firebase-db.ts index 167871ab..bf4fbb2a 100644 --- a/src/firebase-db.ts +++ b/src/storage/firebase-db.ts @@ -11,11 +11,11 @@ import firebase from "firebase/app"; import "firebase/auth"; import "firebase/firestore"; // import "firebase/database"; // TODO: add if we want to use for testing if connected -import { IPortalData, IAnonymousPortalData, anonymousPortalData } from "./portal-api"; -import { refIdToAnswersQuestionId } from "./utilities/embeddable-utils"; -import { IExportableAnswerMetadata, LTIRuntimeAnswerMetadata, AnonymousRuntimeAnswerMetadata, IAuthenticatedLearnerPluginState, IAnonymousLearnerPluginState } from "./types"; -import { queryValueBoolean } from "./utilities/url-query"; -import { RequestTracker } from "./utilities/request-tracker"; +import { IPortalData, IAnonymousPortalData, anonymousPortalData } from "../portal-api"; +import { refIdToAnswersQuestionId } from "../utilities/embeddable-utils"; +import { IExportableAnswerMetadata, LTIRuntimeAnswerMetadata, AnonymousRuntimeAnswerMetadata, IAuthenticatedLearnerPluginState, IAnonymousLearnerPluginState } from "../types"; +import { queryValueBoolean } from "../utilities/url-query"; +import { RequestTracker } from "../utilities/request-tracker"; import { docToWrappedAnswer, IWrappedDBAnswer } from "./storage-facade"; export type FirebaseAppName = "report-service-dev" | "report-service-pro"; diff --git a/src/storage-facade.ts b/src/storage/storage-facade.ts similarity index 92% rename from src/storage-facade.ts rename to src/storage/storage-facade.ts index 8b29c286..b01fdcbc 100644 --- a/src/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -1,9 +1,9 @@ // import { WrappedDBAnswer, FirebaseAppName } from "./firebase-db"; import * as FirebaseImp from "./firebase-db"; -import { IAnonymousPortalData, IPortalData } from "./portal-api"; -import { IExportableAnswerMetadata } from "./types"; +import { IAnonymousPortalData, IPortalData } from "../portal-api"; +import { IExportableAnswerMetadata } from "../types"; import { DexieStorage } from "./dexie-storage"; -import { refIdToAnswersQuestionId } from "./utilities/embeddable-utils"; +import { refIdToAnswersQuestionId } from "../utilities/embeddable-utils"; export interface IStorageInitializer { name: FirebaseImp.FirebaseAppName, preview: boolean } @@ -60,16 +60,19 @@ const activityExportFileName = (activity: string) => { export interface IStorageInterface { // These seem to be FireStore specific: - // onFirestoreSaveTimeout?: (handler: () => void) => void, - // onFirestoreSaveAfterTimeout?: (handler: () => void) => void, - // initializeDB: ({name, preview}: IStorageInitializer) => Promise, - // initializeAnonymousDB?: (preview: boolean) => Promise - // signInWithToken: (rawFirestoreJWT: string) => Promise, + onSaveTimeout?: (handler: () => void) => void, + onSaveAfterTimeout?: (handler: () => void) => void, - // These seem like authentication and identity concerns, and should be extracted: + // TODO can't we just use setPortalData .. ? + setAnonymousPortalData?: (_portalData: IAnonymousPortalData) => void, setPortalData: (_portalData: IPortalData | null) => void, + + // Maybe this can be moved to the constructor? + initializeDB?: ({name, preview}: IStorageInitializer) => Promise, + initializeAnonymousDB?: (preview: boolean) => Promise + signInWithToken?: (rawFirestoreJWT: string) => Promise, + getPortalData: () => IPortalData | IAnonymousPortalData | null, - // setAnonymousPortalData: (_portalData: IAnonymousPortalData) => void, // These are directly related to storing student answers and fetching them back watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void): () => void @@ -88,13 +91,12 @@ export interface IStorageInterface { syncData(): void } + class FireStoreStorageProvider implements IStorageInterface { - // TODO: Specific to FireStore: - onFirestoreSaveTimeout(handler: () => void) { + onSaveTimeout(handler: () => void) { return FirebaseImp.onFirestoreSaveTimeout(handler); } - - onFirestoreSaveAfterTimeout (handler: () => void) { + onSaveAfterTimeout (handler: () => void) { return FirebaseImp.onFirestoreSaveAfterTimeout(handler); } @@ -180,15 +182,14 @@ class FireStoreStorageProvider implements IStorageInterface { } - class DexieStorageProvider implements IStorageInterface { indexDBConnection: DexieStorage; portalData: IPortalData|null; haveFireStoreConnection: boolean; constructor(){ - this.indexDBConnection = new DexieStorage(); this.haveFireStoreConnection = false; + this.indexDBConnection = new DexieStorage(); } createOrUpdateAnswer(answer: IExportableAnswerMetadata) { diff --git a/src/student-info.ts b/src/student-info.ts index b95b4bba..141b4f7f 100644 --- a/src/student-info.ts +++ b/src/student-info.ts @@ -1,5 +1,5 @@ import { fetchPortalData, IPortalData } from "./portal-api"; -import { Storage } from "./storage-facade"; +import { Storage } from "./storage/storage-facade"; const DEFAULT_STUDENT_NAME = "Anonymous"; const DEFAULT_TEACHER_NAME = "A teacher"; diff --git a/src/utilities/plugin-utils.ts b/src/utilities/plugin-utils.ts index 85d6e308..2848dbee 100644 --- a/src/utilities/plugin-utils.ts +++ b/src/utilities/plugin-utils.ts @@ -1,6 +1,6 @@ import { ICustomMessage } from "@concord-consortium/lara-interactive-api"; import { Optional } from "utility-types"; -import { Storage } from "../storage-facade"; +import { Storage } from "../storage/storage-facade"; import { LaraGlobalType } from "../lara-plugin"; import { IEmbeddableContextOptions, IPluginRuntimeContextOptions } from "../lara-plugin/plugins/plugin-context"; import { Activity, Embeddable, IEmbeddablePlugin, Plugin } from "../types"; diff --git a/src/utilities/report-utils.ts b/src/utilities/report-utils.ts index d0dbc240..19427365 100644 --- a/src/utilities/report-utils.ts +++ b/src/utilities/report-utils.ts @@ -1,5 +1,5 @@ import { queryValue } from "../utilities/url-query"; -import { Storage } from "../storage-facade"; +import { Storage } from "../storage/storage-facade"; import { IPortalData, firebaseAppName } from "../portal-api"; export const kProductionPortalReportUrl = "https://portal-report.concord.org/version/v4.1.0/index.html"; From 51e6399be25133f5243f71551340c3e7ef1f8ae2 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 8 Mar 2021 17:23:48 -0500 Subject: [PATCH 049/242] Clean up and honor `offline` flags * Honor `?offline` query parameter (TODO: separate offline storage from offline activity json?) * Make StorageFacade a singleton class * Make `Role` an enum for better typing (was string) [#177147970] Upload When Launch From Portal --- .../completion-export-answers.tsx | 5 ++- .../completion-page-content.tsx | 5 ++- .../completion-report-my-work.tsx | 10 ++--- .../introduction-import-answers.tsx | 5 ++- .../managed-interactive/iframe-runtime.tsx | 5 ++- .../managed-interactive.tsx | 10 ++--- src/components/app.tsx | 21 +++++---- src/lara-plugin/plugins/plugin-context.ts | 8 ++-- src/lib/logger.ts | 10 ++--- src/storage/dexie-storage.ts | 2 +- src/storage/storage-facade.ts | 45 ++++++++++++++++--- src/student-info.ts | 36 +++++++++------ src/utilities/plugin-utils.ts | 11 +++-- src/utilities/report-utils.ts | 5 ++- 14 files changed, 117 insertions(+), 61 deletions(-) diff --git a/src/components/activity-completion/completion-export-answers.tsx b/src/components/activity-completion/completion-export-answers.tsx index 5eddbf4e..172f2b09 100644 --- a/src/components/activity-completion/completion-export-answers.tsx +++ b/src/components/activity-completion/completion-export-answers.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { Storage } from "../../storage/storage-facade"; +import { getStorage } from "../../storage/storage-facade"; import "./completion-export-answers.scss"; @@ -16,7 +16,8 @@ export class CompletionExportAnswers extends React.PureComponent this.state = {activityJSON: "", filename: "activity"}; } async componentDidMount() { - const activityJSONComplete = await Storage.exportActivityToJSON(); + const storage = await getStorage(); + const activityJSONComplete = await storage.exportActivityToJSON(); const filename = activityJSONComplete.filename; this.setState({ activityJSON: JSON.stringify(activityJSONComplete), filename }); } diff --git a/src/components/activity-completion/completion-page-content.tsx b/src/components/activity-completion/completion-page-content.tsx index 380742fe..0f68400b 100644 --- a/src/components/activity-completion/completion-page-content.tsx +++ b/src/components/activity-completion/completion-page-content.tsx @@ -3,7 +3,7 @@ import IconCheck from "../../assets/svg-icons/icon-check.svg"; import { showReport } from "../../utilities/report-utils"; import { Sequence, Activity, EmbeddableWrapper, Page } from "../../types"; import { renderHTML } from "../../utilities/render-html"; -import { Storage } from "../../storage/storage-facade"; +import { getStorage } from "../../storage/storage-facade"; import { isQuestion } from "../../utilities/activity-utils"; import { refIdToAnswersQuestionId } from "../../utilities/embeddable-utils"; import { CompletionExportAnswers } from "./completion-export-answers"; @@ -72,7 +72,8 @@ export const CompletionPageContent: React.FC = (props) => { }; useEffect(() => { - Storage.watchAllAnswers(answerMetas => { + const storage = getStorage(); + storage.watchAllAnswers(answerMetas => { setAnswers(answerMetas); }); }, []); diff --git a/src/components/activity-completion/completion-report-my-work.tsx b/src/components/activity-completion/completion-report-my-work.tsx index a8b17058..76a63b1c 100644 --- a/src/components/activity-completion/completion-report-my-work.tsx +++ b/src/components/activity-completion/completion-report-my-work.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { Storage } from "../../storage/storage-facade"; +import { getStorage } from "../../storage/storage-facade"; import "./completion-report-my-work.scss"; @@ -23,10 +23,10 @@ export class CompletionReportMyWork extends React.PureComponent } render() { - - const className = Storage.canSyncData() ? "enabled" : "disabled"; - const clickAction = Storage.canSyncData() - ? () => Storage.syncData() + const storage = getStorage(); + const className = storage.canSyncData() ? "enabled" : "disabled"; + const clickAction = storage.canSyncData() + ? () => storage.syncData() : () => null; return (
    diff --git a/src/components/activity-introduction/introduction-import-answers.tsx b/src/components/activity-introduction/introduction-import-answers.tsx index 91689f6d..ff1df698 100644 --- a/src/components/activity-introduction/introduction-import-answers.tsx +++ b/src/components/activity-introduction/introduction-import-answers.tsx @@ -1,5 +1,5 @@ import React, { ChangeEvent } from "react"; -import { Storage } from "../../storage/storage-facade"; +import { getStorage } from "../../storage/storage-facade"; import "./introduction-import-answers.scss"; @@ -21,7 +21,8 @@ export class ImportAnswers extends React.PureComponent { Array.from(event.target.files).forEach(file => { getFileFromInput(file) .then((binary) => { - Storage.importStudentAnswersFromJSONFile(binary, file.name); + const storage = getStorage(); + storage.importStudentAnswersFromJSONFile(binary, file.name); }).catch(function (reason) { console.log(`Error during upload ${reason}`); event.target.value = ""; // to allow upload of same file if error occurs diff --git a/src/components/activity-page/managed-interactive/iframe-runtime.tsx b/src/components/activity-page/managed-interactive/iframe-runtime.tsx index bd3b317f..e6da1b9a 100644 --- a/src/components/activity-page/managed-interactive/iframe-runtime.tsx +++ b/src/components/activity-page/managed-interactive/iframe-runtime.tsx @@ -11,7 +11,7 @@ import { } from "@concord-consortium/lara-interactive-api"; import Shutterbug from "shutterbug"; import { Logger } from "../../../lib/logger"; -import { Storage } from "../../../storage/storage-facade"; +import { getStorage } from "../../../storage/storage-facade"; import { IEventListener, pluginInfo } from "../../../lara-plugin/plugin-api/decorate-content"; import { autorun } from "mobx"; @@ -159,7 +159,8 @@ export const IframeRuntime: React.ForwardRefExoticComponent = forwardRef const unsubscribeLinkedInteractiveStateListener = new Map(); addListener("addLinkedInteractiveStateListener", (request: IAddLinkedInteractiveStateListenerRequest) => { const { interactiveItemId, listenerId } = request; - const unsubscribe = Storage.watchAnswer(interactiveItemId, (wrappedAnswer) => { + const storage = getStorage(); + const unsubscribe = storage.watchAnswer(interactiveItemId, (wrappedAnswer) => { const interactiveState = wrappedAnswer?.interactiveState; const response: ILinkedInteractiveStateResponse = { listenerId, diff --git a/src/components/activity-page/managed-interactive/managed-interactive.tsx b/src/components/activity-page/managed-interactive/managed-interactive.tsx index 39aff4eb..8b658f99 100644 --- a/src/components/activity-page/managed-interactive/managed-interactive.tsx +++ b/src/components/activity-page/managed-interactive/managed-interactive.tsx @@ -8,7 +8,7 @@ import { } from "@concord-consortium/lara-interactive-api"; import { PortalDataContext } from "../../portal-data-context"; import { IManagedInteractive, IMwInteractive, LibraryInteractiveData, IExportableAnswerMetadata } from "../../../types"; -import { Storage } from "../../../storage/storage-facade"; +import { getStorage } from "../../../storage/storage-facade"; import { handleGetFirebaseJWT } from "../../../portal-utils"; import { getAnswerWithMetadata, isQuestion } from "../../../utilities/embeddable-utils"; import IconQuestion from "../../../assets/svg-icons/icon-question.svg"; @@ -47,11 +47,11 @@ export const ManagedInteractive: React.ForwardRefExoticComponent = forwa const answerMeta = useRef(); const shouldWatchAnswer = isQuestion(props.embeddable); const [loading, setLoading] = useState(shouldWatchAnswer); - const embeddableRefId = props.embeddable.ref_id; useEffect(() => { + const storage = getStorage(); if (shouldWatchAnswer) { - return Storage.watchAnswer(embeddableRefId, (wrappedAnswer) => { + return storage.watchAnswer(embeddableRefId, (wrappedAnswer) => { answerMeta.current = wrappedAnswer?.meta; interactiveState.current = wrappedAnswer?.interactiveState; setLoading(false); @@ -62,10 +62,10 @@ export const ManagedInteractive: React.ForwardRefExoticComponent = forwa const handleNewInteractiveState = (state: any) => { // Keep interactive state in sync if iFrame is opened in modal popup interactiveState.current = state; - + const storage = getStorage(); const exportableAnswer = getAnswerWithMetadata(state, props.embeddable as IManagedInteractive, answerMeta.current); if (exportableAnswer) { - Storage.createOrUpdateAnswer(exportableAnswer); + storage.createOrUpdateAnswer(exportableAnswer); } // Custom callback set internally. Used by the modal dialog to close itself after the most recent // interactive state is received. diff --git a/src/components/app.tsx b/src/components/app.tsx index 6fe61016..507a4fb6 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -15,7 +15,7 @@ import { CompletionPageContent } from "./activity-completion/completion-page-con import { queryValue, queryValueBoolean } from "../utilities/url-query"; import { IPortalData, firebaseAppName } from "../portal-api"; import { Activity, IEmbeddablePlugin, OfflineManifest, OfflineManifestActivity, Sequence } from "../types"; -import { TrackOfflineActivityId } from "../storage/storage-facade"; +import { TrackOfflineActivityId, getStorage } from "../storage/storage-facade"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; import { loadPluginScripts, getGlossaryEmbeddable, loadLearnerPluginState } from "../utilities/plugin-utils"; @@ -104,7 +104,6 @@ export class App extends React.PureComponent { const loadingOfflineManifest = !!offlineManifestId; const offlineMode = (queryValue("offline") === "true") || !!offlineManifestAuthoringId || !!offlineManifestId; - this.studentInfo = new StudentInfo(); this.state = { currentPage: 0, @@ -271,13 +270,17 @@ export class App extends React.PureComponent { const newState: Partial = {activity, offlineManifest, loadingOfflineManifest, currentPage, showThemeButtons, showWarning, showSequenceIntro, sequence, teacherEditionMode, offlineManifestAuthoringId}; setDocumentTitle(activity, currentPage); - // Get data from the portal or localstorage - const studentInfo = this.studentInfo; - await studentInfo.init(); - const role = studentInfo.role; - const classHash = studentInfo.getClassHash(); - const runRemoteEndpoint = studentInfo.getRunRemoteEndpoint(); - newState.username = studentInfo.name; + // Initialize Storage provider + const storage = getStorage({name: firebaseAppName(), preview, offline: this.state.offlineMode}); + // TODO: Its weird that studentInfo initializes storage. + // We should change that so storage does that itself.... + // Track student information: (TODO: new StudentInfo(storage.getPortalData())) + this.studentInfo = new StudentInfo(storage); + await this.studentInfo.init(); + const role = this.studentInfo.role; + const classHash = this.studentInfo.getClassHash(); + const runRemoteEndpoint = this.studentInfo.getRunRemoteEndpoint(); + newState.username = this.studentInfo.name; this.setState(newState as IState); this.LARA = initializeLara(); diff --git a/src/lara-plugin/plugins/plugin-context.ts b/src/lara-plugin/plugins/plugin-context.ts index 8a33f9fa..e1d63055 100644 --- a/src/lara-plugin/plugins/plugin-context.ts +++ b/src/lara-plugin/plugins/plugin-context.ts @@ -7,7 +7,7 @@ import $ from "jquery"; // LARA_CODE import * as $ from "jquery"; // ACTIVITY_PLAYER_CODE: import { Logger } from "../../lib/logger"; -import { Storage } from "../../storage/storage-facade"; +import { getStorage } from "../../storage/storage-facade"; import { getFirebaseJWT } from "../../portal-api"; export type IPluginContextOptions = IPluginRuntimeContextOptions | IPluginAuthoringContextOptions; @@ -138,7 +138,8 @@ export const saveAuthoredPluginState = (authoringSaveStateUrl: string, authorDat const getFirebaseJwtFromPortal = (appName: string): Promise => { return new Promise((resolve, reject) => { - const portalData = Storage.getPortalData(); + const storage = getStorage(); + const portalData = storage.getPortalData(); if (portalData && (portalData.type === "authenticated") && portalData.basePortalUrl && portalData.rawPortalJWT) { return getFirebaseJWT(portalData.basePortalUrl, portalData.rawPortalJWT, {firebase_app: appName}) .then(([token, firebaseJWT]) => { @@ -194,6 +195,7 @@ const fetchPluginEventLogData = (context: IPluginRuntimeContextOptions) => { }; export const generateRuntimePluginContext = (options: IPluginRuntimeContextOptions): IPluginRuntimeContext => { + const storage = getStorage(); const context = { name: options.name, url: options.url, @@ -205,7 +207,7 @@ export const generateRuntimePluginContext = (options: IPluginRuntimeContextOptio remoteEndpoint: options.remoteEndpoint, userEmail: options.userEmail, resourceUrl: options.resourceUrl, - saveLearnerPluginState: (state: string) => Storage.setLearnerPluginState(options.pluginId, state), + saveLearnerPluginState: (state: string) => storage.setLearnerPluginState(options.pluginId, state), getClassInfo: () => getClassInfo(options.classInfoUrl), getFirebaseJwt: (appName: string) => getFirebaseJwtFromPortal(appName), wrappedEmbeddable: options.wrappedEmbeddable ? generateEmbeddableRuntimeContext(options.wrappedEmbeddable) : null, diff --git a/src/lib/logger.ts b/src/lib/logger.ts index 3a47060c..1f57b7fe 100644 --- a/src/lib/logger.ts +++ b/src/lib/logger.ts @@ -1,7 +1,7 @@ import { v4 as uuid } from "uuid"; import { DEBUG_LOGGER } from "../lib/debug"; import { LaraGlobalType } from "../lara-plugin/index"; - +import { Role } from "../student-info"; const logManagerUrl = "//cc-log-manager.herokuapp.com/api/logs"; export interface LogParams { @@ -16,7 +16,7 @@ interface LogMessage { application: string; run_remote_endpoint?: string; username: string; - role: string; + role: Role; classHash: string; session: string; appMode: string; @@ -51,7 +51,7 @@ export enum LogEventName { export class Logger { public static initializeLogger(LARA: LaraGlobalType, username: string, - role: string, + role: Role, classHash: string, teacherEdition: boolean, sequence: string | undefined, @@ -97,7 +97,7 @@ export class Logger { private LARA: LaraGlobalType; private username: string; - private role: string; + private role: Role; private classHash: string; private session: string; private appMode: string; @@ -109,7 +109,7 @@ export class Logger { private constructor(LARA: LaraGlobalType, username: string, - role: string, + role: Role, classHash: string, teacherEdition: boolean, sequence: string | undefined, diff --git a/src/storage/dexie-storage.ts b/src/storage/dexie-storage.ts index 13211680..f2a6c5ca 100644 --- a/src/storage/dexie-storage.ts +++ b/src/storage/dexie-storage.ts @@ -1,5 +1,5 @@ import Dexie from "dexie"; -import { OfflineActivity } from "./types"; +import { OfflineActivity } from "../types"; import { IIndexedDBAnswer, kOfflineAnswerSchemaVersion } from "./storage-facade"; // Copy and pasted from the example: https://dexie.org/docs/Typescript diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index b01fdcbc..d0792d7e 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -5,7 +5,12 @@ import { IExportableAnswerMetadata } from "../types"; import { DexieStorage } from "./dexie-storage"; import { refIdToAnswersQuestionId } from "../utilities/embeddable-utils"; -export interface IStorageInitializer { name: FirebaseImp.FirebaseAppName, preview: boolean } + +export interface IStorageInitializer { + name: FirebaseImp.FirebaseAppName, + preview: boolean, + offline: boolean +} export interface IWrappedDBAnswer { meta: IExportableAnswerMetadata; @@ -93,14 +98,19 @@ export interface IStorageInterface { class FireStoreStorageProvider implements IStorageInterface { + portalData: IPortalData|null; + preview: boolean; + onSaveTimeout(handler: () => void) { return FirebaseImp.onFirestoreSaveTimeout(handler); } + onSaveAfterTimeout (handler: () => void) { return FirebaseImp.onFirestoreSaveAfterTimeout(handler); } initializeDB ({name, preview}: IStorageInitializer) { + this.preview = preview; return FirebaseImp.initializeDB({name, preview}); } @@ -113,8 +123,19 @@ class FireStoreStorageProvider implements IStorageInterface { } // TODO: authentication and identity concerns, and should be extracted elsewhere: - setPortalData (_portalData: IPortalData | null) { - return FirebaseImp.setPortalData(_portalData); + async setPortalData (_portalData: IPortalData | null) { + FirebaseImp.setPortalData(this.portalData); + try { + if(this.portalData) { + await this.initializeDB({ name: this.portalData.database.appName, preview: false, offline: false }); + await this.signInWithToken(this.portalData.database.rawFirebaseJWT); + } else { + await this.initializeAnonymousDB(this.preview); + } + } + catch (err) { + console.error("DB authentication error:", err); + } } getPortalData() { @@ -355,7 +376,7 @@ class DexieStorageProvider implements IStorageInterface { if(portalData) { try { if(! this.haveFireStoreConnection) { - await fsProvider.initializeDB({ name: appName, preview: false }); + await fsProvider.initializeDB({ name: appName, preview: false, offline: false }); await fsProvider.signInWithToken(portalData.database.rawFirebaseJWT); this.haveFireStoreConnection = true; } @@ -366,7 +387,6 @@ class DexieStorageProvider implements IStorageInterface { .where("activity") .equals(_currentOfflineActivityId).toArray(); console.dir(answers); - debugger; for(const answer of answers) { fsProvider.createOrUpdateAnswer(answer); } @@ -381,5 +401,18 @@ class DexieStorageProvider implements IStorageInterface { } } +let storageInstance: IStorageInterface; + +export const getStorage = (config?: IStorageInitializer) => { + if(storageInstance) { + if(config?.offline) { + storageInstance = new DexieStorageProvider(); + } + else { + storageInstance = new FireStoreStorageProvider(); + } + } + return storageInstance; +}; + -export const Storage: IStorageInterface = new DexieStorageProvider(); diff --git a/src/student-info.ts b/src/student-info.ts index 141b4f7f..4821eb96 100644 --- a/src/student-info.ts +++ b/src/student-info.ts @@ -1,12 +1,14 @@ import { fetchPortalData, IPortalData } from "./portal-api"; -import { Storage } from "./storage/storage-facade"; +import { IStorageInterface } from "./storage/storage-facade"; const DEFAULT_STUDENT_NAME = "Anonymous"; const DEFAULT_TEACHER_NAME = "A teacher"; const STUDENT_LOCAL_STORAGE_KEY = "ActivityPlayerStudent"; const DEFAULT_CLASS_HASH = ""; // From `app.tsx` 2021-02-25 const DEFAULT_RUN_REMOTE_ENDPOINT= ""; // From `app.tsx` 2021-02-25 -const DEFAULT_ROLE = "uknown"; // From `app.tsx` 2021-02-25 + + +export enum Role { "student", "teacher", "unknown"} /* The purpose of this class is to allow us to reconcile users and their data @@ -28,7 +30,8 @@ interface IPortalRun extends IAnonymousRun { } type Run = IAnonymousRun | IPortalRun; -type Role = "student" | "teacher" | "unknown"; + + interface IStudentRecord { name: string, @@ -48,16 +51,19 @@ export class StudentInfo implements IStudentRecord { runs: Run[]; rawPortalData: IPortalData; dataReady: boolean; + storage: IStorageInterface|null; + preview: boolean; private _validTokens: boolean; - constructor() { + constructor(storage: IStorageInterface) { // Start with defaults. // Calling async operation init() will load real values. + this.storage = storage; this.loadDefaults(); } private loadDefaults() { - this.role = "student"; + this.role = Role.student; this.name = DEFAULT_STUDENT_NAME; this.teacherName = DEFAULT_TEACHER_NAME; this._validTokens = false; @@ -66,7 +72,7 @@ export class StudentInfo implements IStudentRecord { public init(): Promise { return fetchPortalData({includeClassData: true}) .then( (portalData: IPortalData) => this.updateFromPortalData(portalData)) - .catch( () => this.updateFromIndexDB()); + .catch( () => this.updateFromIndexedDB()); } public isAuthenticated() : boolean{ @@ -118,11 +124,11 @@ export class StudentInfo implements IStudentRecord { ); } - private updateFromIndexDB() { + private updateFromIndexedDB() { // We have to load any data we can from the DB, but tokens will be stale. // TODO: remove stale tokens if the exist console.log("LOADING FROM LOCAL STORAGE"); - const localStorageStudentInfo = localStorage.getItem(STUDENT_LOCAL_STORAGE_KEY) ?? ""; + const localStorageStudentInfo = localStorage.getItem(STUDENT_LOCAL_STORAGE_KEY) ?? "{}"; this.loadSerializedData(localStorageStudentInfo); this._validTokens=false; } @@ -165,7 +171,7 @@ export class StudentInfo implements IStudentRecord { this.finish(); } - private updateFromPortalData(portalData: IPortalData) { + private async updateFromPortalData(portalData: IPortalData) { // Raw Portal Data JWT includes expiration time (`exp`) and Issued at (`iat`) // exp: 1614635737 // iat: 1614632137 @@ -175,16 +181,20 @@ export class StudentInfo implements IStudentRecord { this.platformUserId = portalData.platformUserId; this._validTokens = true; this.saveSerializedLocalData(); - this.finish(); + await this.finish(); } private saveSerializedLocalData() { window.localStorage.setItem(STUDENT_LOCAL_STORAGE_KEY, this.serializeData()); } - private finish() { - Storage.setPortalData(this.rawPortalData); - this.dataReady = true; + private async finish() { + if(this.storage) { + await this.storage?.setPortalData(this.rawPortalData); + this.dataReady = true; + } else { + console.error("Could not initialize storage for user ..."); + } } } diff --git a/src/utilities/plugin-utils.ts b/src/utilities/plugin-utils.ts index 2848dbee..a1e0058f 100644 --- a/src/utilities/plugin-utils.ts +++ b/src/utilities/plugin-utils.ts @@ -1,6 +1,6 @@ import { ICustomMessage } from "@concord-consortium/lara-interactive-api"; import { Optional } from "utility-types"; -import { Storage } from "../storage/storage-facade"; +import { getStorage } from "../storage/storage-facade"; import { LaraGlobalType } from "../lara-plugin"; import { IEmbeddableContextOptions, IPluginRuntimeContextOptions } from "../lara-plugin/plugins/plugin-context"; import { Activity, Embeddable, IEmbeddablePlugin, Plugin } from "../types"; @@ -98,7 +98,8 @@ export const validateEmbeddablePluginContextForWrappedEmbeddable = // loads the learner plugin state into the firebase write-through cache export const loadLearnerPluginState = async (activity: Activity, teacherEditionMode: boolean) => { const plugins = findUsedPlugins(activity, teacherEditionMode); - await Promise.all(plugins.map(async (plugin) => await Storage.getLearnerPluginState(plugin.id))); + const storage = getStorage(); + await Promise.all(plugins.map(async (plugin) => await storage.getLearnerPluginState(plugin.id))); }; export const initializePlugin = (context: IEmbeddablePluginContext) => { @@ -118,7 +119,9 @@ export const initializePlugin = (context: IEmbeddablePluginContext) => { const embeddableContextAny = embeddableContext as any; const pluginId = usedPlugin.id; - const portalData = Storage.getPortalData(); + const storage = getStorage(); + const portalData = storage.getPortalData(); + //const activity = queryValue("activity"); const pluginLabel = `plugin${pluginId}`; const pluginContext: IPluginRuntimeContextOptions = { type: "runtime", @@ -127,7 +130,7 @@ export const initializePlugin = (context: IEmbeddablePluginContext) => { pluginId, embeddablePluginId: null, authoredState: embeddable.plugin?.author_data || null, - learnerState: Storage.getCachedLearnerPluginState(pluginId), + learnerState: storage.getCachedLearnerPluginState(pluginId), learnerStateSaveUrl: "", container: embeddableContainer, componentLabel: pluginLabel, diff --git a/src/utilities/report-utils.ts b/src/utilities/report-utils.ts index 19427365..f0e448f4 100644 --- a/src/utilities/report-utils.ts +++ b/src/utilities/report-utils.ts @@ -1,5 +1,5 @@ import { queryValue } from "../utilities/url-query"; -import { Storage } from "../storage/storage-facade"; +import { getStorage } from "../storage/storage-facade"; import { IPortalData, firebaseAppName } from "../portal-api"; export const kProductionPortalReportUrl = "https://portal-report.concord.org/version/v4.1.0/index.html"; @@ -62,7 +62,8 @@ export const getReportUrl = () => { } else { // We know this is a IPortalData because there is no runKey - const portalData = Storage.getPortalData() as IPortalData; + const storage = getStorage(); + const portalData = storage.getPortalData() as IPortalData; const classInfoUrl = portalData?.portalJWT?.class_info_url; const authDomainUrl = classInfoUrl?.split("/api")[0]; const offeringBaseUrl = classInfoUrl?.split("/classes")[0]+"/offerings/"; From 58642d4419cd50ea346d33ce0688113b6a4a5e00 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 9 Mar 2021 11:53:38 -0500 Subject: [PATCH 050/242] =?UTF-8?q?Fix=20jest=20tests=20for=20storage=20fa?= =?UTF-8?q?=C3=A7ade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix tests for storage façade [#177147970] — Upload data to FireStore when launched from portal --- src/storage/storage-facade.ts | 2 +- src/utilities/report-utils.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index d0792d7e..0279352a 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -404,7 +404,7 @@ class DexieStorageProvider implements IStorageInterface { let storageInstance: IStorageInterface; export const getStorage = (config?: IStorageInitializer) => { - if(storageInstance) { + if(!storageInstance) { if(config?.offline) { storageInstance = new DexieStorageProvider(); } diff --git a/src/utilities/report-utils.test.ts b/src/utilities/report-utils.test.ts index 6a1bdb58..8911d5cb 100644 --- a/src/utilities/report-utils.test.ts +++ b/src/utilities/report-utils.test.ts @@ -2,7 +2,7 @@ import { getReportUrl, portalReportBaseUrl, kProductionPortalReportUrl, kDevPortalReportUrl} from "./report-utils"; import { clearFirebaseAppName } from "../portal-api"; -jest.mock("../firebase-db", () => ( +jest.mock("../storage/firebase-db", () => ( { getPortalData: () => ( { From 677f0e1c240e830f696207cc8893b0f8dbb58ab6 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 9 Mar 2021 16:48:41 -0500 Subject: [PATCH 051/242] Simplify Storage interface, fix some failing tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Simplify Storage interface, fix some failing tests [#177147970] — Upload data to FireStore when launched from portal --- src/components/app.tsx | 7 +- src/portal-api.ts | 9 ++- src/storage/firebase-db.test.ts | 6 +- src/storage/firebase-db.ts | 5 +- src/storage/storage-facade.ts | 131 +++++++++++++++----------------- src/student-info.ts | 12 +-- 6 files changed, 74 insertions(+), 96 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 507a4fb6..56cfedad 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -15,7 +15,7 @@ import { CompletionPageContent } from "./activity-completion/completion-page-con import { queryValue, queryValueBoolean } from "../utilities/url-query"; import { IPortalData, firebaseAppName } from "../portal-api"; import { Activity, IEmbeddablePlugin, OfflineManifest, OfflineManifestActivity, Sequence } from "../types"; -import { TrackOfflineActivityId, getStorage } from "../storage/storage-facade"; +import { TrackOfflineActivityId, initStorage } from "../storage/storage-facade"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; import { loadPluginScripts, getGlossaryEmbeddable, loadLearnerPluginState } from "../utilities/plugin-utils"; @@ -271,10 +271,7 @@ export class App extends React.PureComponent { setDocumentTitle(activity, currentPage); // Initialize Storage provider - const storage = getStorage({name: firebaseAppName(), preview, offline: this.state.offlineMode}); - // TODO: Its weird that studentInfo initializes storage. - // We should change that so storage does that itself.... - // Track student information: (TODO: new StudentInfo(storage.getPortalData())) + const storage = await initStorage({name: firebaseAppName(), preview, offline: this.state.offlineMode}); this.studentInfo = new StudentInfo(storage); await this.studentInfo.init(); const role = this.studentInfo.role; diff --git a/src/portal-api.ts b/src/portal-api.ts index dbebbd22..cd16205c 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -1,7 +1,7 @@ import jwt from "jsonwebtoken"; import superagent from "superagent"; import { v4 as uuidv4 } from "uuid"; -import { queryValue, setQueryValue } from "./utilities/url-query"; +import { queryValue, queryValueBoolean, setQueryValue } from "./utilities/url-query"; import { getResourceUrl } from "./lara-api"; import { FirebaseAppName } from "./storage/firebase-db"; @@ -387,15 +387,16 @@ interface IFetchPortalDataOpts { includeClassData: boolean } const fetchPortalDataDefaults: IFetchPortalDataOpts = { - includeClassData: false + includeClassData: true }; -export const fetchPortalData = async (opts: IFetchPortalDataOpts = fetchPortalDataDefaults): Promise => { +export const fetchPortalData = async (opts: IFetchPortalDataOpts = fetchPortalDataDefaults): Promise => { const bearerToken = queryValue("token"); const basePortalUrl = queryValue("domain"); + const preview = queryValueBoolean("preview"); if (!bearerToken || !basePortalUrl) { - throw new Error("No token provided for authentication (must launch from Portal)"); + return Promise.resolve(anonymousPortalData(preview)); } const [rawPortalJWT, portalJWT] = await getPortalJWTWithBearerToken(basePortalUrl, bearerToken); diff --git a/src/storage/firebase-db.test.ts b/src/storage/firebase-db.test.ts index 16a9e8e3..0c2243d9 100644 --- a/src/storage/firebase-db.test.ts +++ b/src/storage/firebase-db.test.ts @@ -1,5 +1,5 @@ import { IRuntimeMetadata } from "@concord-consortium/lara-interactive-api"; -import { setPortalData, setAnonymousPortalData, createOrUpdateAnswer, initializeDB, signInWithToken, setLearnerPluginState, getLearnerPluginStateDocId, getLearnerPluginState } from "./firebase-db"; +import { setPortalData, createOrUpdateAnswer, initializeDB, signInWithToken, setLearnerPluginState, getLearnerPluginStateDocId, getLearnerPluginState } from "./firebase-db"; import { DefaultManagedInteractive } from "../test-utils/model-for-tests"; import { getAnswerWithMetadata } from "../utilities/embeddable-utils"; import { IExportableAnswerMetadata } from "../types"; @@ -130,7 +130,7 @@ describe("Firestore", () => { }); it("creates answers with the correct metadata for an anonymous user", () => { - setAnonymousPortalData({ + setPortalData({ type: "anonymous", database: { appName: "report-service-dev", @@ -193,7 +193,7 @@ describe("Firestore", () => { describe("with anonymous portal data", () => { beforeEach(() => { - setAnonymousPortalData({ + setPortalData({ type: "anonymous", database: { appName: "report-service-dev", diff --git a/src/storage/firebase-db.ts b/src/storage/firebase-db.ts index bf4fbb2a..2daa3415 100644 --- a/src/storage/firebase-db.ts +++ b/src/storage/firebase-db.ts @@ -138,7 +138,7 @@ export const signOut = async() =>{ } }; -export const setPortalData = (_portalData: IPortalData | null) => { +export const setPortalData = (_portalData: IPortalData | IAnonymousPortalData | null) => { portalData = _portalData; }; @@ -148,9 +148,6 @@ export const getPortalData = (): IPortalData | IAnonymousPortalData | null => { return portalData; }; -export const setAnonymousPortalData = (_portalData: IAnonymousPortalData) => { - portalData = _portalData; -}; type DocumentsListener = (docs: firebase.firestore.DocumentData[]) => void; diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 0279352a..97026235 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -1,16 +1,19 @@ // import { WrappedDBAnswer, FirebaseAppName } from "./firebase-db"; import * as FirebaseImp from "./firebase-db"; -import { IAnonymousPortalData, IPortalData } from "../portal-api"; -import { IExportableAnswerMetadata } from "../types"; +import { fetchPortalData, IAnonymousPortalData, IPortalData } from "../portal-api"; +import { IAnonymousMetadataPartial, IExportableAnswerMetadata } from "../types"; import { DexieStorage } from "./dexie-storage"; import { refIdToAnswersQuestionId } from "../utilities/embeddable-utils"; - -export interface IStorageInitializer { +export interface IInitStorageParams { name: FirebaseImp.FirebaseAppName, preview: boolean, offline: boolean } +export interface IDBInitializer extends IInitStorageParams{ + portalData: IPortalData | IAnonymousPortalData +} + export interface IWrappedDBAnswer { meta: IExportableAnswerMetadata; @@ -68,14 +71,10 @@ export interface IStorageInterface { onSaveTimeout?: (handler: () => void) => void, onSaveAfterTimeout?: (handler: () => void) => void, - // TODO can't we just use setPortalData .. ? - setAnonymousPortalData?: (_portalData: IAnonymousPortalData) => void, - setPortalData: (_portalData: IPortalData | null) => void, - - // Maybe this can be moved to the constructor? - initializeDB?: ({name, preview}: IStorageInitializer) => Promise, - initializeAnonymousDB?: (preview: boolean) => Promise - signInWithToken?: (rawFirestoreJWT: string) => Promise, + setPortalData: (_portalData: IPortalData | IAnonymousPortalData) => void, + initializeDB: (initializer: IDBInitializer) => Promise, + // initializeAnonymousDB?: (preview: boolean) => Promise + // signInWithToken?: (rawFirestoreJWT: string) => Promise, getPortalData: () => IPortalData | IAnonymousPortalData | null, @@ -87,7 +86,7 @@ export interface IStorageInterface { getCachedLearnerPluginState: (pluginId: number) => string|null, getLearnerPluginState: (pluginId: number) => Promise, setLearnerPluginState: (pluginId: number, state: string) => Promise, - checkIfOnline: () => Promise, + // checkIfOnline: () => Promise, // for saving a whole activity to JSON exportActivityToJSON: (activityId?: string) => Promise, @@ -98,9 +97,7 @@ export interface IStorageInterface { class FireStoreStorageProvider implements IStorageInterface { - portalData: IPortalData|null; - preview: boolean; - + portalData: IPortalData|IAnonymousPortalData; onSaveTimeout(handler: () => void) { return FirebaseImp.onFirestoreSaveTimeout(handler); } @@ -109,28 +106,19 @@ class FireStoreStorageProvider implements IStorageInterface { return FirebaseImp.onFirestoreSaveAfterTimeout(handler); } - initializeDB ({name, preview}: IStorageInitializer) { - this.preview = preview; - return FirebaseImp.initializeDB({name, preview}); - } - - initializeAnonymousDB(preview: boolean) { - return FirebaseImp.initializeAnonymousDB(preview); - } - - signInWithToken(rawFirestoreJWT: string){ - return FirebaseImp.signInWithToken(rawFirestoreJWT); - } - - // TODO: authentication and identity concerns, and should be extracted elsewhere: - async setPortalData (_portalData: IPortalData | null) { - FirebaseImp.setPortalData(this.portalData); + async initializeDB (initializer: IDBInitializer) { + const {preview, portalData} = initializer; + this.setPortalData(portalData); try { - if(this.portalData) { - await this.initializeDB({ name: this.portalData.database.appName, preview: false, offline: false }); - await this.signInWithToken(this.portalData.database.rawFirebaseJWT); + if(portalData.type === "authenticated") { + const token = portalData.database.rawFirebaseJWT; + await FirebaseImp.initializeDB({ + name: this.portalData.database.appName, + preview}); + await FirebaseImp.signInWithToken(token); } else { - await this.initializeAnonymousDB(this.preview); + await FirebaseImp.initializeAnonymousDB(preview); + // No sign-in required for anonymous } } catch (err) { @@ -138,12 +126,12 @@ class FireStoreStorageProvider implements IStorageInterface { } } - getPortalData() { - return FirebaseImp.getPortalData(); + setPortalData(portalData: IPortalData | IAnonymousPortalData) { + FirebaseImp.setPortalData(portalData); } - setAnonymousPortalData(_portalData: IAnonymousPortalData){ - return FirebaseImp.setAnonymousPortalData(_portalData); + getPortalData() { + return FirebaseImp.getPortalData(); } // Saving and Loading student work @@ -176,10 +164,6 @@ class FireStoreStorageProvider implements IStorageInterface { return FirebaseImp.setLearnerPluginState(pluginId,state); } - checkIfOnline() { - return FirebaseImp.checkIfOnline(); - } - // TODO: Save activity to local JSON file and allow reloading from file exportActivityToJSON(activityId?: string) { return Promise.reject("Not yet implemented for Firebase Storage"); @@ -205,7 +189,7 @@ class FireStoreStorageProvider implements IStorageInterface { class DexieStorageProvider implements IStorageInterface { indexDBConnection: DexieStorage; - portalData: IPortalData|null; + portalData: IPortalData|IAnonymousPortalData; haveFireStoreConnection: boolean; constructor(){ @@ -213,20 +197,22 @@ class DexieStorageProvider implements IStorageInterface { this.indexDBConnection = new DexieStorage(); } - createOrUpdateAnswer(answer: IExportableAnswerMetadata) { - const idxDBAnswer = answer as IIndexedDBAnswer; - idxDBAnswer.activity = _currentOfflineActivityId; - this.indexDBConnection.answers.put(idxDBAnswer); + async initializeDB (initializer: IDBInitializer) { + const {portalData} = initializer; + this.setPortalData(portalData); } + setPortalData(_portalData: IPortalData | IAnonymousPortalData) { - setPortalData(_portalData: IPortalData | null) { - // TODO: Implement this - // setPortalData: (_portalData: IPortalData | null) => FirebaseImp.setPortalData(_portalData), - // Record Tokens for playback to FireStore later this.portalData = _portalData; } + createOrUpdateAnswer(answer: IExportableAnswerMetadata) { + const idxDBAnswer = answer as IIndexedDBAnswer; + idxDBAnswer.activity = _currentOfflineActivityId; + this.indexDBConnection.answers.put(idxDBAnswer); + } + getPortalData() { return this.portalData; } @@ -343,24 +329,28 @@ class DexieStorageProvider implements IStorageInterface { } } + //TODO: APO Plugin State getLearnerPluginStateDocId(pluginId: number){ return undefined; } + + //TODO: APO Plugin State getCachedLearnerPluginState(pluginId: number){ return null; } + + //TODO: APO Plugin State getLearnerPluginState(pluginId: number){ return Promise.resolve(null); } + + //TODO: APO Plugin State setLearnerPluginState(pluginId: number, state: string){ return Promise.resolve(""); } - checkIfOnline() { - return Promise.resolve(false); - } canSyncData() { - const portalToken = this.portalData?.portalJWT; + const portalToken = (this.portalData as IPortalData)?.portalJWT; if(portalToken) { const { exp } = portalToken; const unixTimeStamp = Math.floor(Date.now()/1000); @@ -376,12 +366,9 @@ class DexieStorageProvider implements IStorageInterface { if(portalData) { try { if(! this.haveFireStoreConnection) { - await fsProvider.initializeDB({ name: appName, preview: false, offline: false }); - await fsProvider.signInWithToken(portalData.database.rawFirebaseJWT); + await fsProvider.initializeDB({ name: appName, preview: false, offline: false, portalData}); this.haveFireStoreConnection = true; } - - fsProvider.setPortalData(this.portalData); const answers = await this.indexDBConnection .answers .where("activity") @@ -403,15 +390,21 @@ class DexieStorageProvider implements IStorageInterface { let storageInstance: IStorageInterface; -export const getStorage = (config?: IStorageInitializer) => { - if(!storageInstance) { - if(config?.offline) { - storageInstance = new DexieStorageProvider(); - } - else { - storageInstance = new FireStoreStorageProvider(); - } +export const initStorage = async (config: IInitStorageParams) => { + const portalData = await fetchPortalData(); + const initConfig = { portalData, ...config}; + + if(config?.offline) { + storageInstance = new DexieStorageProvider(); } + else { + storageInstance = new FireStoreStorageProvider(); + } + await storageInstance.initializeDB(initConfig); + return storageInstance; +}; + +export const getStorage = () => { return storageInstance; }; diff --git a/src/student-info.ts b/src/student-info.ts index 4821eb96..0757f718 100644 --- a/src/student-info.ts +++ b/src/student-info.ts @@ -168,10 +168,9 @@ export class StudentInfo implements IStudentRecord { if (data.rawPortalData) { this.rawPortalData = data.rawPortalData; } - this.finish(); } - private async updateFromPortalData(portalData: IPortalData) { + private updateFromPortalData(portalData: IPortalData) { // Raw Portal Data JWT includes expiration time (`exp`) and Issued at (`iat`) // exp: 1614635737 // iat: 1614632137 @@ -181,21 +180,12 @@ export class StudentInfo implements IStudentRecord { this.platformUserId = portalData.platformUserId; this._validTokens = true; this.saveSerializedLocalData(); - await this.finish(); } private saveSerializedLocalData() { window.localStorage.setItem(STUDENT_LOCAL_STORAGE_KEY, this.serializeData()); } - private async finish() { - if(this.storage) { - await this.storage?.setPortalData(this.rawPortalData); - this.dataReady = true; - } else { - console.error("Could not initialize storage for user ..."); - } - } } From f4b82bf58ee775431589361fc47a9d892d0eed5e Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Wed, 10 Mar 2021 10:18:13 -0500 Subject: [PATCH 052/242] rebase seems clean, removing commented-out code. --- src/utilities/plugin-utils.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/utilities/plugin-utils.ts b/src/utilities/plugin-utils.ts index a1e0058f..5504f545 100644 --- a/src/utilities/plugin-utils.ts +++ b/src/utilities/plugin-utils.ts @@ -121,7 +121,6 @@ export const initializePlugin = (context: IEmbeddablePluginContext) => { const pluginId = usedPlugin.id; const storage = getStorage(); const portalData = storage.getPortalData(); - //const activity = queryValue("activity"); const pluginLabel = `plugin${pluginId}`; const pluginContext: IPluginRuntimeContextOptions = { type: "runtime", From cbd87f6dd3a701fc0a4ed6171515784d1becb627 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 10 Mar 2021 10:03:42 -0500 Subject: [PATCH 053/242] Added offline logging storage [#176575357] --- src/components/app.tsx | 25 ++++++++--- src/dexie-storage.ts | 12 +++++- src/lara-api.ts | 11 +---- src/lib/logger.ts | 78 +++++++++++++++++++---------------- src/offline-manifest-api.ts | 11 +++-- src/storage-facade.ts | 17 +++----- src/types.ts | 20 +++++++++ src/utilities/report-utils.ts | 5 ++- 8 files changed, 107 insertions(+), 72 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 05b77272..69de01e1 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -7,7 +7,7 @@ import { ActivityPageContent } from "./activity-page/activity-page-content"; import { IntroductionPageContent } from "./activity-introduction/introduction-page-content"; import { Footer } from "./activity-introduction/footer"; import { ActivityLayouts, PageLayouts, numQuestionsOnPreviousPages, enableReportButton, setDocumentTitle, getPagePositionFromQueryValue, getAllUrlsInActivity } from "../utilities/activity-utils"; -import { getActivityDefinition, getSequenceDefinition } from "../lara-api"; +import { getActivityDefinition, getResourceUrl, getSequenceDefinition } from "../lara-api"; import { ThemeButtons } from "./theme-buttons"; import { SinglePageContent } from "./single-page/single-page-content"; import { WarningBanner } from "./warning-banner"; @@ -213,7 +213,7 @@ export class App extends React.PureComponent { async componentDidMount() { try { - const {offlineManifestId, offlineManifestAuthoringId, loadingOfflineManifest} = this.state; + const {offlineMode, offlineManifestId, offlineManifestAuthoringId, loadingOfflineManifest} = this.state; let offlineManifestAuthoringData: OfflineManifestAuthoringData | undefined; if (offlineManifestAuthoringId) { @@ -242,9 +242,10 @@ export class App extends React.PureComponent { } let activity: Activity | undefined = undefined; - const activityPath = queryValue("activity") || (this.state.offlineMode ? undefined : kDefaultActivity); + const activityPath = queryValue("activity") || (offlineMode ? undefined : kDefaultActivity); if (activityPath) { - TrackOfflineActivityId(activityPath); + // initial call to set the id in the storage facade + this.trackOfflineActivityId(activityPath); activity = await getActivityDefinition(activityPath); if (offlineManifestAuthoringId) { this.addActivityToOfflineManifest(offlineManifestAuthoringId, activity, activityPath); @@ -289,7 +290,12 @@ export class App extends React.PureComponent { Modal.setAppElement("#app"); - Logger.initializeLogger(this.LARA, newState.username || this.state.username, role, classHash, teacherEditionMode, sequencePath, 0, sequencePath ? undefined : activityPath, currentPage, runRemoteEndpoint); + Logger.initializeLogger(this.LARA, newState.username || this.state.username, role, classHash, teacherEditionMode, sequencePath, 0, sequencePath ? undefined : activityPath, currentPage, runRemoteEndpoint, offlineMode); + + // call this again now that the logger is available + if (activityPath) { + this.trackOfflineActivityId(activityPath); + } const idleDetector = new IdleDetector({ idle: Number(kMaxIdleTime), onIdle: this.handleIdleness }); idleDetector.start(); @@ -645,7 +651,7 @@ export class App extends React.PureComponent { private handleSelectOfflineActivity = (selectedActivity: Activity, url: string) => { this.setState({ activity: selectedActivity }); - TrackOfflineActivityId(url); + this.trackOfflineActivityId(url); if (this.state.offlineManifestAuthoringId) { this.addActivityToOfflineManifest(this.state.offlineManifestAuthoringId, selectedActivity, url); } @@ -653,4 +659,11 @@ export class App extends React.PureComponent { private handleShowOfflineActivities = () => this.setState({ activity: undefined }); + private trackOfflineActivityId(apiUrl: string) { + const resourceUrl = getResourceUrl(apiUrl); + // TODO: use resourceUrl instead of apiUrl in storage facade + TrackOfflineActivityId(apiUrl); + Logger.setActivity(resourceUrl); + } + } diff --git a/src/dexie-storage.ts b/src/dexie-storage.ts index 13211680..8fd033f7 100644 --- a/src/dexie-storage.ts +++ b/src/dexie-storage.ts @@ -1,17 +1,24 @@ import Dexie from "dexie"; -import { OfflineActivity } from "./types"; -import { IIndexedDBAnswer, kOfflineAnswerSchemaVersion } from "./storage-facade"; +import { OfflineActivity, LogMessage } from "./types"; +import { IIndexedDBAnswer } from "./storage-facade"; + +// We need to ensure a version match between data stored and exported +export const kOfflineAnswerSchemaVersion = 4; // Copy and pasted from the example: https://dexie.org/docs/Typescript export class DexieStorage extends Dexie { // Declare implicit table properties. // (just to inform Typescript. Instantiated by Dexie in stores() method) + logs: Dexie.Table; offlineActivities: Dexie.Table; answers: Dexie.Table; // number = type of the primkey //...other tables goes here... constructor () { super("ActivityPlayer"); + this.version(5).stores({ + logs: "++id, activity" + }); this.version(kOfflineAnswerSchemaVersion).stores({ answers: "id, question_id, activity", //...other tables goes here... @@ -22,3 +29,4 @@ export class DexieStorage extends Dexie { } } +export const dexieStorage = new DexieStorage(); diff --git a/src/lara-api.ts b/src/lara-api.ts index b2896b8f..c1f36832 100644 --- a/src/lara-api.ts +++ b/src/lara-api.ts @@ -3,15 +3,8 @@ import { Activity, Sequence } from "./types"; import { rewriteModelsResourcesUrls } from "./utilities/activity-utils"; import { queryValue } from "./utilities/url-query"; -export const getResourceUrl = () => { - const sequenceUrl = queryValue("sequence"); - const activityUrl = queryValue("activity"); - - const resourceUrl = sequenceUrl ? sequenceUrl : activityUrl; - if (!resourceUrl) { - return ""; - } - +export const getResourceUrl = (url?: string) => { + const resourceUrl = url ?? queryValue("sequence") ?? queryValue("activity") ?? ""; return resourceUrl.split(".json")[0].replace("api/v1/",""); }; diff --git a/src/lib/logger.ts b/src/lib/logger.ts index 3a47060c..223b7ea5 100644 --- a/src/lib/logger.ts +++ b/src/lib/logger.ts @@ -1,6 +1,8 @@ import { v4 as uuid } from "uuid"; import { DEBUG_LOGGER } from "../lib/debug"; import { LaraGlobalType } from "../lara-plugin/index"; +import { dexieStorage } from "../dexie-storage"; +import { LogMessage } from "../types"; const logManagerUrl = "//cc-log-manager.herokuapp.com/api/logs"; @@ -12,26 +14,6 @@ export interface LogParams { interactive_url?: string | undefined } -interface LogMessage { - application: string; - run_remote_endpoint?: string; - username: string; - role: string; - classHash: string; - session: string; - appMode: string; - sequence: string | undefined; - sequenceActivityIndex: number; - activity: string | undefined, - activityPage: number; - time: number; - event: string; - event_value: any; - parameters: any; - interactive_id: string | undefined, - interactive_url: string | undefined, -} - export enum LogEventName { change_sequence_activity, change_activity_page, @@ -58,23 +40,36 @@ export class Logger { sequenceActivityIndex: number, activity: string | undefined, activityPage: number, - runRemoteEndpoint: string) { + runRemoteEndpoint: string, + offlineMode: boolean) { if (DEBUG_LOGGER) { console.log("Logger#initializeLogger called."); } - this._instance = new Logger(LARA, username, role, classHash, teacherEdition, sequence, sequenceActivityIndex, activity, activityPage, runRemoteEndpoint); + this._instance = new Logger(LARA, username, role, classHash, teacherEdition, sequence, sequenceActivityIndex, activity, activityPage, runRemoteEndpoint, offlineMode); } public static updateActivity(activity: string) { - this._instance.activity = activity; + if (this._instance) { + this._instance.activity = activity; + } } public static updateActivityPage(page: number) { - this._instance.activityPage = page; + if (this._instance) { + this._instance.activityPage = page; + } } public static updateSequenceActivityindex(index: number) { - this._instance.sequenceActivityIndex = index; + if (this._instance) { + this._instance.sequenceActivityIndex = index; + } + } + + public static setActivity(activity: string) { + if (this._instance) { + this._instance.activity = activity; + } } public static log(logParams: LogParams) { @@ -83,10 +78,14 @@ export class Logger { const eventString = typeof event === "string" ? event : LogEventName[event]; const logMessage = Logger.Instance.createLogMessage(eventString, parameters, event_value, interactive_id, interactive_url); this._instance.LARA.Events.emitLog(logMessage); - sendToLoggingService(logMessage); + if (this._instance.offlineMode) { + this._instance.saveLogMessage(logMessage); + } else { + this._instance.sendToLoggingService(logMessage); + } } - private static _instance: Logger; + private static _instance?: Logger; public static get Instance() { if (this._instance) { @@ -106,6 +105,7 @@ export class Logger { private activity: string | undefined; private activityPage: number; private runRemoteEndpoint: string; + private offlineMode: boolean; private constructor(LARA: LaraGlobalType, username: string, @@ -116,7 +116,8 @@ export class Logger { sequenceActivityIndex: number, activity: string | undefined, activityPage: number, - runRemoteEndpoint: string) { + runRemoteEndpoint: string, + offlineMode: boolean) { this.LARA = LARA; this.session = uuid(); this.username = username; @@ -128,6 +129,7 @@ export class Logger { this.activity = activity; this.activityPage = activityPage; this.runRemoteEndpoint = runRemoteEndpoint; + this.offlineMode = offlineMode; } private createLogMessage( @@ -161,14 +163,18 @@ export class Logger { return logMessage; } -} + private sendToLoggingService(data: LogMessage) { + if (DEBUG_LOGGER) { + console.log("Logger#sendToLoggingService sending", JSON.stringify(data), "to", logManagerUrl); + } + const request = new XMLHttpRequest(); + request.open("POST", logManagerUrl, true); + request.setRequestHeader("Content-Type", "application/json; charset=UTF-8"); + request.send(JSON.stringify(data)); + } -function sendToLoggingService(data: LogMessage) { - if (DEBUG_LOGGER) { - console.log("Logger#sendToLoggingService sending", JSON.stringify(data), "to", logManagerUrl); + private saveLogMessage(data: LogMessage) { + dexieStorage.logs.put(data); } - const request = new XMLHttpRequest(); - request.open("POST", logManagerUrl, true); - request.setRequestHeader("Content-Type", "application/json; charset=UTF-8"); - request.send(JSON.stringify(data)); + } diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index 5065f072..b29579c5 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -1,7 +1,6 @@ -import { DexieStorage } from "./dexie-storage"; +import { dexieStorage } from "./dexie-storage"; import { OfflineManifest, OfflineManifestActivity } from "./types"; -const dexie = new DexieStorage(); export interface OfflineManifestAuthoringData { activities: OfflineManifestActivity[]; cacheList: string[] @@ -118,14 +117,14 @@ export const mergeOfflineManifestWithAuthoringData = (offlineManifest: OfflineMa export const saveOfflineManifestToOfflineActivities = async (offlineManifest: OfflineManifest) => { const promises = offlineManifest.activities.map(async (offlineManifestActivity) => { const {name, url} = offlineManifestActivity; - const offlineActivity = await dexie.offlineActivities.get({url}); + const offlineActivity = await dexieStorage.offlineActivities.get({url}); if (offlineActivity) { - await dexie.offlineActivities.update(url, {name, url}); + await dexieStorage.offlineActivities.update(url, {name, url}); } else { - await dexie.offlineActivities.put({name, url}); + await dexieStorage.offlineActivities.put({name, url}); } }); await Promise.all(promises); }; -export const getOfflineActivities = async () => await dexie.offlineActivities.toArray(); +export const getOfflineActivities = async () => await dexieStorage.offlineActivities.toArray(); diff --git a/src/storage-facade.ts b/src/storage-facade.ts index d74f3d56..1b5bf368 100644 --- a/src/storage-facade.ts +++ b/src/storage-facade.ts @@ -2,7 +2,7 @@ import * as FirebaseImp from "./firebase-db"; import { IAnonymousPortalData, IPortalData } from "./portal-api"; import { IExportableAnswerMetadata } from "./types"; -import {DexieStorage} from "./dexie-storage"; +import {dexieStorage, kOfflineAnswerSchemaVersion} from "./dexie-storage"; import { refIdToAnswersQuestionId } from "./utilities/embeddable-utils"; export interface IStorageInitializer { name: FirebaseImp.FirebaseAppName, preview: boolean } @@ -36,9 +36,6 @@ export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { return wrappedAnswer; }; -// We need to ensure a version match between data stored and exported -export const kOfflineAnswerSchemaVersion = 4; - const activityExportFileName = (activity: string) => { const d = new Date(); const year = (d.getFullYear()).toString(); @@ -115,18 +112,16 @@ const FireStoreStorageProvider: StorageInterface = { importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => true }; -const indexDBConnection = new DexieStorage(); - const DexieStorageProvider = {...FireStoreStorageProvider, createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => { const idxDBAnswer = answer as IIndexedDBAnswer; idxDBAnswer.activity = _currentOfflineActivityId; - indexDBConnection.answers.put(idxDBAnswer); + dexieStorage.answers.put(idxDBAnswer); }, watchAllAnswers: (callback: (wrappedAnswer: IWrappedDBAnswer[]) => void) => { - const foundAnswers = indexDBConnection + const foundAnswers = dexieStorage .answers .where("activity") .equals(_currentOfflineActivityId) @@ -140,7 +135,7 @@ const DexieStorageProvider = {...FireStoreStorageProvider, watchAnswer: (embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void) => { const questionId = refIdToAnswersQuestionId(embeddableRefId); const getAnswerFromIndexDB = (qID: string) => { - const foundAnswers = indexDBConnection + const foundAnswers = dexieStorage .answers .where("question_id") .equals(qID).toArray(); @@ -164,7 +159,7 @@ const DexieStorageProvider = {...FireStoreStorageProvider, const activityShortId = currentActivityId.indexOf("/") > -1 ? currentActivityId.substr(currentActivityId.lastIndexOf("/")+1).replace(".json", "") : currentActivityId; const filename = activityExportFileName(activityShortId); const getAllAnswersFromIndexDB = () => { - const foundAnswers = indexDBConnection + const foundAnswers = dexieStorage .answers .where("activity") .equals(currentActivityId).toArray(); @@ -218,7 +213,7 @@ const DexieStorageProvider = {...FireStoreStorageProvider, const idxDBAnswer = answer as IIndexedDBAnswer; // TODO: what happens if the answers loaded are for a different activity? idxDBAnswer.activity = answer.activity; - indexDBConnection.answers.put(idxDBAnswer); + dexieStorage.answers.put(idxDBAnswer); }); return true; } else { diff --git a/src/types.ts b/src/types.ts index 4255827f..ed9b0a98 100644 --- a/src/types.ts +++ b/src/types.ts @@ -278,3 +278,23 @@ export interface OfflineManifest { export interface OfflineActivity extends OfflineManifestActivity { // TBD: add class info once that is figured out } + +export interface LogMessage { + application: string; + run_remote_endpoint?: string; + username: string; + role: string; + classHash: string; + session: string; + appMode: string; + sequence: string | undefined; + sequenceActivityIndex: number; + activity: string | undefined, + activityPage: number; + time: number; + event: string; + event_value: any; + parameters: any; + interactive_id: string | undefined, + interactive_url: string | undefined, +} diff --git a/src/utilities/report-utils.ts b/src/utilities/report-utils.ts index d0dbc240..e50a2db7 100644 --- a/src/utilities/report-utils.ts +++ b/src/utilities/report-utils.ts @@ -1,6 +1,7 @@ import { queryValue } from "../utilities/url-query"; import { Storage } from "../storage-facade"; import { IPortalData, firebaseAppName } from "../portal-api"; +import { getResourceUrl } from "../lara-api"; export const kProductionPortalReportUrl = "https://portal-report.concord.org/version/v4.1.0/index.html"; export const kDevPortalReportUrl = "https://portal-report.concord.org/branch/master/index.html"; @@ -45,8 +46,8 @@ export const getReportUrl = () => { const reportLink = portalReportBaseUrl(); const reportFirebaseApp = firebaseAppName(); const activity = queryValue("activity"); - const activityUrl = activity? ((activity.split(".json"))[0]).replace("api/v1/","") : ""; - const runKey= queryValue("runKey"); + const activityUrl = getResourceUrl(activity); + const runKey = queryValue("runKey"); // Sometimes the location of the answers is overridden with a report-source param const answerSource = queryValue("report-source") || window.location.hostname; const sourceKey = activityUrl ? makeSourceKey(activityUrl) : window.location.hostname; From e90f33a44c72618fa0602711b46e975ca79ce4de Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Wed, 10 Mar 2021 16:50:38 -0500 Subject: [PATCH 054/242] Add some documentation for Storage --- src/storage/StorageFacade.png | Bin 0 -> 52253 bytes src/storage/architecture.md | 51 ++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 src/storage/StorageFacade.png create mode 100644 src/storage/architecture.md diff --git a/src/storage/StorageFacade.png b/src/storage/StorageFacade.png new file mode 100644 index 0000000000000000000000000000000000000000..1ec5dc980e70c3ea539b7a07a8ead49cfdc97053 GIT binary patch literal 52253 zcmeFYXH?V86EBVhrHB+MN|oM=bdhH0AP^v-7Znf*O@Ro6rV>CvI*4=w1VU)iJE(LJ z5J>1nL0ae~l+bSUd4Bi)UfpxIVXo?_q(&Rvoo_ZpV@B&&_Iidf|-JZgoH{* zTiuw1gcL~pK*+8TTT~t*%ZdN4Iz7~XNJ3H`OL_W)l=%Cuy|%GF2?>mkgyc1xgoHqB zdc8tI0+k>k!96A+QTRwg!t^4e!AOzVu?&0!(zv*|*xA{cn3!m2X!!8q!_m=^t*xz_ zn_FjR=jrL`!NI}e;-Zw4RBdf73zsGp>ATkZ(;xI?C!$W@%sLWi;D{c z0txaqs~|4<(o;Pxb&_|aY}&*hyhuoHr~mm}(t(B~5gV_2>*#A-U%W!Wz$%WX zY-}LPk3>iPA;@=fH`g9`bKo)t%-_~ar-_KgZy)^%J2QnQmG7n;lz48S`s=zc#`!iSOk6@lRs}{n@XqOL;ag zc(jOw0!%sQ<=FSzt964o+&ci1q*|UJ!c=$4KwlHddMvv7;%KE_yYZ)aj85>>W%UyB z{my&j%+5@#eS+{wx7SYXc*Vhu2Xqv6zpCxXFqFT-t`v>cHn&Er#d6SSQ9wUCA4({v zz4+p0Jb6QNXyonH>xOR1I{#w zg_I_V?}ok|N^pgnZEw$C@nRy*)oCEh%UPMZ@U$W?z2$fCI8V*g{lHt_uK*Z2gVGc1 zqH4&?SZXM-CZ9)4L`@-40$&W9En9=2wi8CsPHM154ej-%wB(C5t80j(X#dSr7G%1pRWq%Ru0EpNnhXgI~1Va>^_DMY9}*;Y;2yl$(HBYr>7Tce9@hDxURBCmYJ%^t{!ud~^9*D7wV~A6TonEJOZUu=7o= zEudr=mls&9;GLk8W7&KoSpgLQpt13lv>;uSL{My*akmF-gfbuq-#HC_8s}vX;m|m-=#U zu2-w>IRYnMs>|N%tZ*sGQZLlIX$jl2ag`nz701;x86J~CHHP3Dhf{Dy1icv?On9Z- zU8HA{mfyv*UhEFs+fOdyVIC!i{Wgt{#9OIB(4oN8r~1Bb2u5daA?2_tsR#`e{*3|@ z?A-83h$SURxHzl^*oD29@v4Rry7+X9OvYt?!;KL=AS0Yz9QmE550xT@be*2C+TKt@?jDCa0^*Ql2q*6}wkC@Rl8&)>@Vjy_VSD@2h$ zQFW`PLEr6hnik-p7HrO&78QdK{i4hd%JRA%WNZ8>YhnTqC(_6s$T%VJGkfdRbyX{r zP+XOc0^P1a-X}fWN?Fl?Fq0JnL;wUpvL?h7(Td#2Jc<`{ys6KwBzcALmMyfd}xqA zpd`bqqq~qNb#0q6!t>4x3u(yw!}xj0f#(TYMaP}4cR>gO)FAOCmIQ1zF%cg>tk1rd z!znC0kjb?GH^QZ858gqBoCjii|&7c+uBXQCOiE4;b==v@{}(gS-VN2^iY zP|6mvf>qjZMf$rS{bBTD?R0%n%;#5q=KQ6f37LyE_-U^XE;GgYgC0UM_c$z7Xguq5*F@N4Z91}r1`s6oM} z2zcKbTK+s77^NWCX9D$|ZWvAgrmHEr;R%V3&=_XM6k$+VO=4a>&N1{{ERnF-o1h0+ zth&=H9PJ;1UDNK(hfQ~vrG>u5@yhZe?-kaK*6V4MA9wtxG~bnL z@1HAv=75q_hcdw%{0h;AW2A~RnRz3w*B3cQc&!Bx9Q;-!(KX}v~Q6pBP zftsc^>QOe|q_$!}7e(DNSQtd#dzeFwNb5@jc7gS^%#2x?+l*>VY!h9D^~9GD#!dctEN#u^>btIsaY^);kmX3hzv?9 zHtR&h9ak*~M7s?6KB9 zcjgF-D;6^$f-$$_bBW}-f@2E>n#J#MO?1*hu)Py`kHjX1R!&g7phBNxee&w!uBqA} zS8664u0!^BxKUsHX&pwUrGytWL*Mja`7Wq(0t~>qCvTqR_s)S--jB%?R1oQuzL8{2;Y`lp^vf8;oN2T=_wq$~>E+Ip^*%xb#W$tQ{0P46$2 z1clrd#!wLU4sv|ppPKu7jXXu>dhP|4&}Z}v3j z!A6msLt=a@ea@;X>M9e~Sjkq%IT?7o?BiwU3vB(i1a1wB``LyJYxn8_812nvSk)j&gCm!*cU52hIl57}SC3;Ep z;#Fm4A9ih9p2Q}<7(Sk1$Nvdn=o_=>E##Mk@BU`I96?}G5}q_0%Ldx!#@@@g6hI@y z-6rnEOv|r^%NULImbocIIk^C|iZ)7J=pB4zYF6o>%E8v&tga&?EpFAabOKn+%Nv=P z>@eNEGWcF-O)oFO(vh8ncgmq!_3I_g)N=>!>i{-`$>gU_{u^NsvZ}mhof*;IkoP_Q zuI9<~(0T7yWZ)(9Xi23vRnVFI*FUu(h8a|VlD^BSrJo%2H|#9U?msc{gNF^6vfV7X zKZO7Iu?JF!eSR18EN4v|oUX65Tv+U+yGqU{l9w!t`Ph{Uob1K(m>ZOc_EY$j9)->Y8U?ZUtJIb$=kiT6X8*kU(0z}FprdDby(QG#7sQvF+D%S=sVrLUeA^7UC>gzr~&0JQT|?UQbub+EDcqj?5| zf(4jP$MmmkSm2Y|+WZEoMF|eW33o8PGj)@g3Sj1YH0Y&qaTON#tbk&sxD`PqgVN3F_bPc@-pg`0JJTDwN_?Dk)CQdCVoK|B-RYKjjtID5RtQ>oe zyqaA5HmjH?N+^!+GtQ{_sfwtFPE?-kTFSHII%xTU=Lf>)#Y>hNaeWCTSO|JI!gNe+ zX1^y*`$l9GEo4b_DB$bES=)0Ef1}VPdG<2%v{kIO8C_guhV)S$1EREeXG>SLzo?}6 zphv1d|LG{R6`?WPa|0A*w1yU-vL^iHGcjn_SZl1vu=BE0&E$zvuO zNEfCuzJ3rYe| zOH)Iz6#H*>t}E988}D9@=sfsLnhhfbY_KcQ^V|m6H;AgDY!KI9=c!E&6$al0J!YU0 zTDe8WU``6BAY28InqES@Rel3}16D_L!Ju8s+mPekW0N_Z-+8L2FG2%6 z7!REJ_Pv&%wFmJTG{lv4_`wOs{&S|xl5;ADnYsqo;S|O5B7n0_xv6^ zk2?&+#lK`kBrvpCAD$V7_u!cbqPPc){8#?8-$Vp)Wgnb945z$ewkqu6iHwEp1?l()nE`S|=HkU0Lw&Ykjvu!X8dxrWY_@Lmf%h@d_i^N{&-VJ zjGroM$$sxlN&_`!x;f1KU}d~fv7VS({oB}@+@SvQeHQw-~g{k1pdqU-ww)M?68l1q5X534fFbypZ*htn^e7c*B7S&Cm; z%Zg`^;mlI!s}JZ>+9cr2grFRbXXRV|TBM_QuUS)<$(xt|(mqSvYyIbW4#u%4EZcGI zmb~@N5L$G0PusLgGq5Y%_N$W71n4!;ko_lhRIO6wab;>35S~V82$Xb&TUJ%4_*v|I z7JS^WVIP?+XBvvbNhIKszq)dbiW%KDErpm zTBRJ}#f@)uOI}JEQ7g5I=;B45+AQr$M338RpxOCTw?-1b@aLIsYV3dJ1>xhqy~Fyk zb1 za$QlOLwpEQh+3RxhIk9jY{aQN86kNccIelr`da0Nf~{_E zVs>i3=Oh*Tl??jGQL{@YFg8@-K+$hy<2$kH3PZuFwjpB-2zPZL{H9g*M5it>KwnJ%LY>Cf5Gis z1Xo}@E+<>0C{-5V?-G(T?y#vXjFhnt>LGty17vevXESltbGGY_+0Y0fZuqDE;qpJ* z{TPm>fRiTQzhV;v@?^PwDMbrf2qb@hX7T7UWcx-Hcp?mxbwi0O;c4E@8b)+MIIT2* zca6?^o2u@&uCE`>`xOB*J8&tG658%YfwWfsNn;#gCO#KWjE(ramIj}(x6wkxN)k#} z#8{47HYp*;_kLu8hl@bT_xSgN@D=;)9Rc4^qM+3R54b|9;m^s&CMBJ<6g~o4T@OWi zoZ^@+b4eBDbmB^b;|-MEyB!0pls7e|s@~+969@kix3~paKjFq}PSZie0Qy%r%RCg&#*}$>Yo)1Bre#bWv=x@%Y4kDNM6-YqGg9j6LF?s~orF*Ohp>P8(blYCyNB_(W zZ!jv$dx5D1Q(x}}Ro~JoDMg@z>^AApW9|eDfQqNRymZ&U&!ex^p5aZx6myJd>MNg% z@1y{w`?A4AuHt}7Dn_9ozjh@%NJKZAJssy2*_A|dN=!>mhA?6s-`xed! z19?~F2f38ah%iskeAI~FHvO41B{R)(IL3AUk>BztO%t)uck^?&6%4;4i3{Y=3^^uTewHw01adMv-=gpctCd|(f-F>$ZX9}she$%hz4%t zh|!XIm5?26va|HimjAk(^XPY-f@6m$U?xvqXl}*380H>~Nn!Iy686Qq!xL1Nlg@hA zkoq^uw#kNFs*%y7Z(PSUD^n(xg~pg7Wy&E>E&b?=Nz- zzH0LKYvpteb5W4RBIeLlQ(Jd90AY)wsV(lI>$x5nwUl591WkI67fDI512E93KE<4IZXy>2R6Lc*^q_TYiWM4@BbC}-|#=LjB(RW#1 zI$XZr`QG%$Q06`gTKrGi$#35mqkG>zN`~CBsP0;*_uE7RSE-<~_haV-d;w6?(wiR) zOwmU|BH$yan!pWfy?Ae&0aZ5f$tqq~Pb8YySzH0``((yfu31tFm*^Fh42V2g`?xa~@1J-Jni1o69)%M=UmR(Pv})net4 zrTIhp2(dvmApOx@2R&K1wlx6B1@-2F{_8|3iogRk|I&oL)Z({oSxRp8<$7gaH zng`X|frw|Ay@8{OwV3Won?;W5qSG}%vRtAmxy%F~C_DpKCZ~&y>`w@=K$RR!A)EVA zWh(B?wL6t>OrFLA@B0yg9&(#`Ylyz^Zq_!=T~F$5L$1xgHDl6XwP3L{xVb-@&x#TT zi@4(`0w<28lk~FeYvkatT@o|oh$~B0cS~GTfxhOelFo23sBQ@bG>+FAP<~u}y$2 ziIP*Z-^P=u&@>~xRJn-4`Sz(i-+&6e)!{z0QvT@+$zA+i2C#Rg`miGjg86Wwffiy( zy_j*-$|r59?l?i-C+J%&P4;T8td7ddo%UkI1eUcQf(p~)0&6VDA~_5_^ERm z%2QJVgl=18?6O1@S=|k2P7SSH`y-QVU_H5x8Ro4JTbQH+Z*i>E>SF9sl}>T()!Sy_ z;MQa71Z`eLyASAh$}}A#v&)=M^MU-vID3>;WRS)}{JOK|0`N@0RSs54nXFZ6JR-pR zIfD<-QSoaa0SHFxd4h8(LSDAp*gPyElnN1~@88wIgWl8td3_l;?-U^CO+6!1Zo~UF z%KzxHA?nnB5MK^PKzc1ptATiPRej9*`)?Q5@Byix*_$i6-W3h}wVX)r1XC^Qz!Rb4 z7vcL{`dX%O)w0ExsT~0o+%b5=TxWqUddkNXE>vPx zaU(f#uc;)TCQeiwcbVwcPT;+{hnHW@MFK1DQnX3f-ooXj$!11t;a+=dps?@MO2Mn% zR0w9mgaR$ZKgnjvZx`u5Z6&BFy!-U*g;M*#2!p%02W0k^A@%SGH(v6-wjFQ!`^EUR zl2@K+)ktKNgZ{QYJw>xgeau%+iGLQ_Pm>Hr=ze`_gVHGOD+~3OE1{@n{*q98tz8ur z7F3g1JU&7UzpEC6f^@I-gV*f|Bc^+Rliv(3@;3?_N^!>bL{! zH#=I0x#8$Y2x4B;4W+{-0EetQg#f8fT|b!=GvH8+LJSIR&jucU>G+|E%7sy@m@z+A zvPdnV#i<+0KC)Un1^k_t3_5LTRX{d)*za>04l^ibfPm%Mg!OQ?q`d9#88080)Y3vq zDT)>8v3)2q+%S$#@i`y<)?o6svC7Tqm%X+&bV8kf)Ups&Q790Qeaq>uI-CNfWwKH{bjr>RGTX89qTd-H+&;l~U|9KmXwIPyMnr zBpv8y{vMFlt73G0NIEF1FMG`E*x4EVQa;VW;H%eu*M1pXYoUaW+@g%)%d)*#t6w%1 zpgE5ia59o(Es2R4F^>8Z-(H79lx62s{tc$D0Ax6bCvGYL+V-L;2q=4#uWHy9SXcEf zqKe@96?+oLOhR1zKW9;@ASjK!wI=ln^jVm6*Z{S!2yQdpE3vM5$)r*yb={uPbWP3B zbZ(4(w`G$~o`MXY@o%aJLK)DOi3J$$J;<3BJoEnD!whTGMG13C3**3TYC^t7N%)e! zG)GvQ{fQDM#_RGw$2leoT4M+mv9+u?+39VMN<1^&+baa1|(JSTYoWTTU$&FV{iguQ*e^ z;7=6N^ww$7ZC(K*O4E88KqcKxhZCxY|MF~&ayQ?I;D&Brgk88*Bd!Ih_r-U{&ypt# zudeCN2w{*NK339>k0%r#fA`W$c&m0h+JT?MQb{!0p?QzIL;98TOg39_uUs4%H+{qYR4J2#d@CG$0gW8;TlTtXxca@CgJ9%lEdfV3%HuL zpWj;fuT*HMCVBJ zJ!^U=Spd{>9us1AVDms0ch(l5ocZb~V#}#=B3Le6DQJ8D__U?18>HBO!LfHe==TSg z+?RikRt*L0Kz>lAbbAA^ka<8f6Dt`@jHCwA;mkYU%fl&NHRM>Tr>oToiv)Wi|7$R_ z$oIj1$Y_~jxE|@EPP5}$>EJa3fC~70d7^LAWOLc;{A63wo{{UPnCq(|2Lg;Zcfk7o zgzLoSUdKFsMSfBFY=x;W5kx(8tHKZ?N@$xG{De<<2I{ zaD8I;B<1omfE!&~VX06`O zw+2P4fO~wm$*Q#o8;il_-))0h(UyBsO8&Nr1B|WUdmD#uA;(eaC+H)&Y|+`xY^L6~ z;sGmrQ&B;A29~ES+2To2o7o;59Km|c7T9(t@x8G*h2O{Xo9a?870cd9Iag5^Nt_!UemTt#{H1*3wekHb@>FU$wQi#8xA zH7<5Zc@||XZF7SgOfSWCWp~U|SIRAemG`HFGn+mpW^;H8)={APh$5xSPB1*8sP=h9?H-%~(&~6W0+;JsnH`rxCp~SsV zOYBbM6T6;L@ygnQWhQj*+_Wb-e(B|_!_$+PQmwHp6%_Xo#)@Hzg|-5=Y|y-?jrC#Z z-Pm7!b#O%ZlF+n>LcdeoZd*N#d5Ul?KA$b>(|MGI19JM|%`z?&9*`akd#BP9)+`ENQUN4maR`H!<2n||rUl3F=2YRI7 zWTK>gz&bmCx%2^$_akHZ=fD}!uI z_mLak_lnX*f=Bewb=qUW#`)>9FT=5!>h53fAt{wjFwdrE3wdFKbfbWbmu16B8aRtd zaB%C)^mcAnS0mHSo%5^(E-n4)>0>!ncGu!PwLj{V?#-1J_50*rvd|n84!(3LPm&oL z+GKm9qlB8j!q>5!KJYY>9!y@FcQY6ogb>$Byoqt~Q@urg7i6+xf}*@b1sj~?4p%lT z7-4eH!vLW99u2Q9P?Yf|h1DaKf)|;C%u))&m%mhBgepH3>k{5v*|tPMjleu;gMb|4 z<*od|AkM{S3OJ20X(Qo6WxE^+r$$KNKwjrL3Q(7gt@hzH!tWpGlYjh;jsYK?kg zyINFHN~CpQ1$!{k;MRwq?`oA7Ll1nHO>Ey8nl2QL&UqzbViR}rUr)d5%rNaMmhHpq z11t@MiigC@)=O|PdMd0=2A>Ry#Vp>>%lBlyH%O>keQY)m3LMlK1T04G*&vB_tZPXL zX0XWis3%W~an-Gw?q~}ifQl#X5gM5*d#^(_R=K533fLE=J>a+>9k$N~`q<78u#2{h zr#q4^aLd}-QDisig`Wd=%Yb+K*Tg2Nl&__=r~9UCyAu9EKo4bsy+J1*%6TJY-oO~= zGYh74E%rag{o~o{pLi(O34xQ$r0Z#8M9|6k3`8766wO$eb)t z9+iSru|y;ETMRQ{=w5jG(u@*18L4lD>W}^6cEW~xl5XP7o?UnZEBe;jY9tvrLW;xD zv#nRL`;a0I82-idv<3k-@?ae=1()i(5JZasN8ZkUzWcMx-A}<{5(Y(_gkmKB&?Ji- z_q0xgX^ig=Udw#;;7LYYo9lUd=JBdv(_8LkDVsSp~8MTd0en;PR^Hr!TnFzW5 z$97B}htMJV=F{f?z(_-DUxHRO8Wvx1nVr&r7hBn5Gyme+A&==-r-!O1_4nmVFO*ZZ1~TElZ7In*p> z#@c(efI!XGCRGHw<258LxShQ9p&=`O5ZaR+LGag&YRfxNf^=|0;cOYM$8eCRF1;{I zK%Cop5w*Hk`5`-t6Dk}{W}>7P?A)s)`b{BO!gf_A$QmEJs^*?wc39$AvHEiF=7k?h zxlh0Pw(42Ll403~p_jO5M_B{1X5_zxP>|I-$&0NUzL|=S%l4f-ozw+ZyqIftSC_c5 zdYo1!<_abPT>ldaRSxaFr8j5$tkR9|SYiYwb}{M6O?-S~y_vUkkUT}-WB*+k^iK%* zAKi0Fz9_W3i{2B>&)V8wIfiN((c)XPp`R-t;g7(D$Bt_N?0+G;EA>=RgAoZsgsde6 zbf-q}_gHPme6YEQJN3=or0+}@WgGY2{x57^YcA9HXW;)nm*IfJJpW*q|0D&}|02@= z)T^%lTP67?#wUXQf1%j_l+FHu=l{VG|5X|4e{jD4P3rW2G~Ga1QITC>*Due1%V+O^ zDt0zD_&{NU4vwhA*#Fea)KS@`#m!y8MX?8e3tvujxRe%^4edpO$Ws22t&1|V3qGxS&(T`ydWMup@*+!SMs2ekKPkm- zoJ{-h7=#J}kamGq#Ojy$ae{m}u<#89^qgAF;>=_&UY?$8^uP$Id1>e2s~-2au`|67VOKO9O( ztZSH83G7;=`=hzm4ZsU)?CI(Qv6Mf0`KRB58xwpI)5rTq#p}Eg=QCvZt(FDPh(GEr zW`i0y>@Ao(iRsb!+wY4wk75qa{@Z7Z3eN4E+|23yxXb|Se|MEXpIZ#_vzXJap`3JylZ{S*sc zF-NU;6gQ3^5rt)fYf(kmdKr()u7JYw&n25DRp9=?qzLy|*rVuD@7{=%MfPM-*qL9akFgTKg}iwCBEryn%~H^?J)6Sx}3HsW^9pNW5z z{D&04@D=-u=xoi~c4sGsb0g^|i+fDN?Ut5}5{OMR#N3R)#fBuUtO$0+Z+;h+9fMHXEH8p#b-%M!5eP`Q&m+1L+T? z08XlRZ&w%!592VK)0WlLkSye%3k`09GYXqA}PgZmzFbODP+(c zMQRVZKMayr=ME$Nq>KjnF!X?pgtbx096Nm%t;t(t)${Z4NsE($mr_O#=ppQIqfd4( z_5^yQ&cagO^BIsKUUkput-VW=4{)Hqi;1MX1xZob&+k{?c!aW8k-DTr{(I*gyZ@=? zRm3Z@i!Z?!yL$w}a_rW#n;a8Yh_ox+rtF9tGGXG5A3K zmoXgHz|Lb&WQiXn_D)v^W1kvUNCcCV4uE$tX(cM#om3nXAy?oy(uZ-uzUUbR_a85Q zM1Vbm#9NZ~uN*tY-V#$s6=>&W@%PNffiDbod;rmldq(8d`-ONAE3vo}%5jzB4D9m4#4hFcqg7pb4Hh(dR%=&w z64>~AIXhEj``I5Z0z=Wm2Dg3v=uhq;%jKt+^L#=Soyn8m0H=!kZ{g2k&(ShJ#&cc< zlHO{dYoLRS;ug)2LlLl#CqX*oLeRxTHB{Hmru2i{u-Ns(HwSbOz-spsN=?w%swRr# z0WIL{?%JZ(xs2Y~{zp1=>4oX-AIUHBfVl*-tRP_urJG=j>W`@474m2`suk!(n~V$@ zcA`x8B7TDh=3t0;1|3fQ9V#VsCeMR30DzxT9h)iKs5JTrw0nNLOGm6(_2Ej&8(3!A z_%s|HR$|@A1u_gx)4b(p41XdJO*tVSapoZMt3Fpgnt~R>n5_3p1Chj+S0zoc$Hn>( zcH4a)2cL0@UfqTr4D&}c4LUF=DC7a|rQsM{6vMi#?cW7b&> zw6_!5>}5@Du=lg*uk_~I=PlUqe9jmTG%ibvt9ST4+ejDFaMI^yme_p{>Jm} zZuruH|3mpSdB4{}7hMznvPt*av<@EIA%u*Oi493y3pywpY_4Ey?g&2#M?l=!&OS0+St`8wNtYRnVyo5=#6rd>buiwiBLzI2JQl79K6<{~+a zbRs?*6PoIXxOSRsKjD)e!rd?~*C!=k{A*VAc-=EqwCn zvLc@-21k60iR#8t?J(79mXN=(%-z_O&RdI30PWs_GNuv2hOWfgtjE%DXfO6`%Rlz| zJ^Q0>_H~t;)wh$^L39~pGD(rm70d66PVwIp~d0*`pi)^VfxNJu&f*E z5obNa$x5*^#iSdoAhSBHx|1d2`s|N8hVs!#=RIx zmzPXF^gHtUtgJwUqb9Vez46}nsuj@WhLn@eFw%YUZy)uL-27szaW?=Zeg)TT$z_%= zI|1a1(!6!-eszm0aY2Nbz)ZXsGZkSru{Pv+EH3{n(kA99;%2_j2xSI4l7hA=qI-( zbv=q`(fn#Tm)U=HyOjx&%di|{3S^!%HYir4iKvDy#c$r`=4poTU6SZ?LzUa1ee}Sr z6uuwr={o33g=oBdg(&@RhH6Du86(Wb*!VZnf|txTuCQ{GK?muca)a=deCQj`$?j3l z4X#W9V^Y-3gB{%~Qax;VJgMs`w25G5mMMfwz_@ zQs|Ss`bR&6G525Qr2NWkpDr81wc63)J}MmRrC8&(BYIm)>0b#RUSnmazS`~h5#41t z{HjAGsT}mimjN*2C8Wy@YB)J1-T89P^I_}NqgET8>9m{4Nc@-cL-?eY*|*fK=Jddy zc~SHbe&=5yHkMBFuWf@;ItMU~E0MRQJc{kmbDn#nkbzXt%wh>wc2%P7lBiQVmq)V| zM%dk9L&iL+d`v{b<`G|?&O|beR74+AT%y?r+9;FKnkI@23V*I?DPni|;uX?p?O7kj zmEy08A&K8fxJ7-U~EWb8A@9f@i*lUiBHD`fb_iO(B^`UhZ zu+ha(&iSGOY#@j!-q(xG-wOWZ@Dpu3WXqD7v1@R{9L1sM1uNE&az%3=tn2xE zciKX!;L&u5QJ!86ABJ;K;^*P8pVlK%*G2{TXH0~I$5OZ^6Cdx#d%AV`Jgo!FD2;hb zZORw-ybQGX3xthxQa4+kudRLi1$r82h^1|_yR3x zLVJF5JB2+N{&fK6Xu1``fD1SEr?7;Mm4-IhnOz>#%TjNs?CbGlkKpeo2~BY31^G|KV^-ER ze>mZ5JnwAXYUAG9fpnI`ZW9g#e09a2WgPUO-rz6{|JcMi8;D|_A@T!Ov26dG8*0+ zbsT2QpF69VWuEg5*>x*htVZ&|d=8v2C^!n0@ZuAKTRw>fmR(4Ctyf|QK^yWpmiPJj zPJY~7PRJ;*P8%jsQksd;WD$-!21ji1r*x)dH2j+F6R=cDGA%66_;DjXFU=^Y^xlUd zfh>{QHa+G%X%z{|{e%RxHSYc}9X9JoB;=@j$M0(^shH>l%kD$x0d5`;r;MGOd)-|` z7Gwn#FJ;7up>Tl{`o<^xrjxg~4i1G8!;-~!7;e~PP2c-9Z};f|avu_h_oNoVI2O3q z9U9BCVG|KO;flhpJc(#$2OFIyF#+t=kJL;&-P~+zCFr?vyuwlW_iE{cQdH9g9W-R9 ztg>&H-MIHBetzMZ_~!47R&YXu?v-a}kg;aa% z?X&Y{3Gu}_T$sOjVghA+x^3a~h>M14qQ0j0qtypN0}<;%c!g+1+Jk zQ-yHdP!mEyb69S1X09G;7dI&SHQ>VMY<3K`RI!=>%;eI=Tb7lVp$TtbQ++FSpNThD zMcc{yyWOZ3Jt(Vfd*p~O1WS3d-jTh9R|DWj8RcfY+VNVqUq-SoZpGy6#zw(K0pRR~ z!E@5LT-IzH)yuAVu`f%EFD_1@lw2U6?=xG|VM0@p*P6x+hTYZr-!>ibIGu?LE1%(y zVH>kf(?K+zCJ$SLKn;|%1)1%Kn$w32k5)V%HafM4s!wWsvkA&=9#7+5V}W5mh7ylc z3&sgK7e3rXD9){~?CXd4*#5UWTaUIwfT`JA-bit;(K*dKuRm8(RZrMI($TB2MD{~< z&xE2X_;8b{tXNS_-q&cX6A zWU(iz#)_MvmYD-QFpn^mlrrP59B>{%&9rEaAP0+V?#=eQp}141cJ8oIYjpU4;8I1q z-PBweWRaD4b7)_(&)9M|{#?{@0hn$#mM#2u=BliIX=mAtpM$ody4@{aXQ0L=p5%t6 z^m-U`tS~2I1*gX7!p}5uJV?@KP+JVs2lr?YgBEVz# zJwE~~g=0V}THF>gspeG*YWi3;_S#dhaz!I&7fBw5SpU^EAppgH9VSs-v(rI&Lz)>s ztm%7q`x}6#U-5?tV%F4{lVfOcN2&-mN<3> zm5yU9S`Rm#Uw0q9Kr zQzAj|N{T3EZ!_4Qn7v*J#Th>pbQFJX@vWqp8SU!UE4vT3YtLV z*uIeR=_1GzD;UBy{^cX7V8t_@xCn&pik7R258c%*@i^3p{R6{26*E^{@!Satds|m6 z{{#B;;dF7)gJHcxQ_`R1c4fxqz56D|$16nmM%N#I(4q0+K3@gT}g&}#MEF%M#Kgws&JO!4Pyb=j@tfqEP> zKpiW$^6*n1yRg*LVg|BLw?`uNGx7d*Ro;eBJ~Kx0@3`!D5c0W2Qs}W582Xv-{nMtZ z8)Z#H8NUp6zd4hZiJSVSNSmO;6?_d(Qc65O0@Yf*9aB&+l@^`m+$3RlQD6Q3q}l+A z0Hy1(38oVS!DXGm7%N%*C%gUzEZdIOP5tREvgw|~_YmS!S3L_uU}BQZpPRI$7hl!B z+dFkMJ&riMC9N;PQ7OcB?DoA&GBRt63y)sDUu(PTVV|{PH`FfPl?V^|g2IRCqNKZ> z6$R&xHx$+~KFp5g%v?ziogDlLlzNuK&If9Rd_5F&={fLqtX?k63jWpy1aW6LlItE9 z-b_2Sj2;`Y`bOJujN^cdfmG_Ew&a9( zr#rMr2MD!BGv6Zu9^NrL_O1Xf-Qj&knUwXtTZeQhD@#Kf)D>+&=t;e` z^?DHyWPjmaXt{K@r%8!4>k%x8tN+oBg%GWaabAoMOY%Mm$GK3^{ST)sI&$tgtxV@% zM@9tOOb@}Ot;MQa`fIMZ8HoI0gKG2KiPC2?6h9H*OV195*}cZyMZjRyWCMm+desBA zMfB)VKC!xP+W(e-&)1wtvoH_ckk&tZXyR>y-tC%xj3(coBCy&O+j{-H>|H~S&(!2q zit`d_jdnaUsoS5r{XeLC^LQw~@NZlsJJ}=qn!RMpZX`Ry%-EMCd&n|mWQ~+H*~&iF zF}Cdck_sV;nS>BR#+GHs*nYR_^ZERq*X#Gk_n+VMyq>?j+~=NiuKS$poa;K*^1j}i zPaMT=cgpc5(7|^z7FT9_Zy!p1nK+~(bnS0CmV*x~AMC3!;=#z;Q{n;RGD+lxdjFCk z3IjZqh6IKlw&T_yGvfD15NQ@uMG3n=eZjCADgm8zzn;2YxCqTvF|;$b+-U$mT3TP& zc>5~4^|~kPdZbe`Vd|3jshnI_f#oQ{^DZ(mOH+RKC)cg|OZPWt-x7o3M(x0t1nbcMklRz3%QM>e4b?%w_bE^gXoI6-~(Ye8DRzZ^rB-5!y&b~3ikseppSW{p{-zz&yh62hAgOfNh!u;^gC z@w$4%9d~!$}hUp_)zGWlIW_LLj>v^sVzsRX>0;$ z`V*?C>s(cT(qzhKyt(CU2d*5Wl6*AvLYxYIh#ygEZ|jKH%`6*;J*3pgod=HxO9Xm!#c!vWek@w<65FPO|EV%OQZ?ZGghu(UrZY@>bVU ztV%B?7vlYz5v$$1X3D;;1F6we<65y7V6W1YFS&<)YBH^#M+o(>(&fiMZ`qnlF+B`k zxg&jFFAA5A05z}LtaYCVHp+;8y67NpTs--Vu%a;7`><`dRli1b&iDb%vnPoheVy@S zI<_#Clm=Z_;^*ao$5#euvcmS#UL~~bE4?yC1>;plQBDV2pX(4sK1r+kZ5Lu)i7mzE zIwX?SFkX422-v7HxoYRP$q0xs)eNs`^}*7oNL+Hf!D2zae%4K)+Ac@>G^cL^;n~V_ zvOyis zwYaAY=(+wZ@pE`C6ss>Ji8Yrwj*qblAMNQGO4gd!xFiZdY)MSL>J%t8mOJo}SRN3%lKTKHG4Q zL#rjrPuj0f;c<4!2Qx)`Lu zzUlR*$p95>cB{8i($R|3WJ&5&etT-B9(kd*C%&Gtf1CWM*=|BLqzQKrG5k?{Nzk{a zkmZ$f8d%#$gwaQ+F9y!F#*F&}_cnXus+ki?7D8(uv^?Ye;p%JcC@U$hIemHkorf-) zu`tkd8@DT_RYd0F%_S+wg#TKLCvx=GTu_+k2nWbiFj^(%o}$ zD6cKFImzVtrX%H8{eqy_7;Q&6+iPzCj>R`Bw7k!R@H*dZ>6(b`z|~cHLwc8Sq4A! z2eW#``Hu`R2*1&c$N3~R8=#DKz;wLqEpv_B+Lm!m>zJ_yq;syk>fFZ79LE-L5}U(_ z+W7mEt^}6}Jy)_ra@eA=-3@cOtBZ?++8V(fwruB68Q1dLIqFyOyvARw8ALg`8gj{$ z4&}rdM6scr8{_+z8ex|j>zmtW$% zEVAgWe~9;@4?8aGNboEYyT^*=3OKHDf3S5zJo*8SuvZD;MlJz>GtPWzH`0=6Y-1~3|#u1 zmV4s{f8+_?lDqlP9Q8U@-F7qo@lDtY-RTb2PQge5vo#vagXv~`I4u_6bz)8q^P>P^ zAFc1-`$-^jUQ6yQ1=rzp8!G6WwkoWKDkkmpE(m}2C|kjX9{jp*i)w%5bVY2tWPvmJ zl{PA`I>3{rvj>%VUYAs@_4OuYgOxa+j;b{APKqe#sQPrJ@ArU_IPsLL)Y$@t!cb9K zRc}S7cO|C}HPgD5_@WT=Tgb=vmfP~cQ_=a(33bkw%2J_)&Ymw?Z7Uh>zp`8O&K)zD z;e>|fN&{{qWsv*D1pn7pX6B}AC`{{XuQCab_QgHDa zJvzRBs_j#|m4~_6(icq>mc2a)esTg@#cOZ`MWJ>v%)M8*jqCW3gyf9GGg^Pdy z3sp>xzdM+PR~Yw?Rsn42DfyuspI3n-O10z~$hshH`BJ2>)0foh@#~n8K(9KdWN?dE z$f*P8hJem3Jj-HjD6v%Idq#b{O=wN2-J>yxFor5*qbod8U^j$}r{YtpZj-sp+mdz9 zKwb=hSAl!#z7!&rHZu=K4h(k)ynPn@^MGc?3Q>VWFmB|dM1L|?Pi%DCbAHKlu3WZU z+jPCzpo_Y-me}<8Btp$C_$1blle}Rr5-=8Z7DDy|INu^cFa{X&$LyvrKE7%tS|43K zLDI`n8EX}0I6)61lr;BpVn$tHO;Q;FlN#7jvAmAE~dW*SZ?6`cT7^<6;L{W~B8B@hwlIzp2%a6A$ zF%WtqO2tkK%jzZs*AlBVEzA*|Vw`uVtBGO;taHb5M2dbooDN4Ff#OVPjhyEpC*43x zh7e}>dCoaML-R}B9Zg`A%4XtttahGc7s%ZEAw~3))-+<|+ zVsa<5rEosmg5>)%ddSRY9Eg*M7_gY62}(Oq@REsuCE%Q%F#;4#1*6SBorz!yTNw=8 zWUQTl7C;5HS=cxw;{v>^U?kVIJ0tmC(@ucC& zIyyk>o>Uxe-74!gVr==|#vA2CE4EXqPpvf9V1{b^}|EFmx8ZjfO@AsPy zDpuS%TZ*L*f4&xh%&lRVS+yBs23*>4thmngf(yfcnnIDeo=}v@`oTqa(x}#PsgO;G z$=+@9{S$^LMD9zJ^YIyR7twXv=AhHREx=ZP{1R32r$w};P3(14*_Gg{K>2&6X+%zs%_z#FCLM&In*eO}MF1*^R2|v0&s!R?iGm7Z4iBc|DbY!-&mZnI zKWNQU8}@1m!n>(v6fATo!U^h9hTKcWtw%vS%3;7QcQdc-Myh>hNNG=4A#pL!59zoA zKM2TE+mLfFzv|fPT^8-q4`1bt;)=@ZN~27*uRnFs_uKn&n(rZTCZUm*j*yuJGP)z_ zJ>hS{<`%O_xlW*U_ZKOaf9Uekv>nQYz6lft2G=_fZr3_mI79Y&h=xrD2Ljl^=sL9t*lZBF3<=~I2yYG-Fz9EYpf$%<{+$&oz?wvF#7RHJ(S?K#-~ zVBWa$4USm257MVem1ZCOO!DgbRw*`_`XbIbl-3j_x)8E%{Zi@IiAOakGa95)8}0^p zV1S88Tisi$Z3J&}H%FfSvd)$(ep8Inb?R~pjsnDx4Y6qww`JIT@4I1oFl4Jm5f|_X z$OABJd7)QQMN%F`_%2Qbv)_c>X`Xop1Yq4ofnW~_ZdVTF^1occ6lSU$W_z^u&?1Ky zw_?GZIE&VhR0f_dpYkl2)_q^h>YGSwaaL$=2#N$IdqT<^8T^I5n#^-$7H%^M3aP4+ z&ztrMuPm9?LnYRUV=^WRJLTvg;oyD8ZV;z(0407QXIIlgX`3G;80x2zH;anR^iBY8 zrWvxvHAU;B4pz`X)3dQ(QDXr#nP?%_A$iKQ5hkRWIQn`M1-?qv-->&0I42y;i&3qC zqPRJ3x&Hv>Lsb+rt}R-yeYvZl!7fwu*CVFevqhOB=Z;Huir+!L*aCE|ZpQ(CKE^ay zu;AhrFox9Ya@MKf{qvx8I_qcx@~Ke?a4w(TjUk7h{3@VBltn9!oAO)Z_~t-21BA~V zr!Tk&j3b_OA9|wpeJ3|k4#!lW69!2FPcsdNbKMlz?X&SG0 zg90mHeq#;4sMX=GCfH)ePp6Qn%pc3nqj150GNryzwJ;-0jR$k`$^u1Z_KhYNSf~?F zM^4AkrfycCw;wLm>StThjtDam_i|Fjq_e=Wgkfdohb8&_z`BX4g|%qPC-n^7Q%9Zw zfsiEo%tpP`^{^Gt4r|L$0P?xe=8{YrI=1O;9Rn^a_6Z^)&*U~;Q{X5r+y@m*jNFU) z08&8>xorazzQ-#1)Z{qX1X8E{`MD_1=wX)&HXB{Gk=@m?@Y0}ZSJbcwaU?;aw#lko zT_y{0&jRC%(AMnA4VtLLp=CsH<@|@yTr*HdOYz`Vcjz)conMlM=7mUu@J08qFA|tz zGL4*j?@t+jMlc_4md2)y%e9ZXPd!|Ghb}tUg)3rHel`s+c40XU<;OZ$j9XrAWcMg~ zRxT=5<|;c%p605fjvZRS`y3_SzW`c|x=06rL?ykKVjjd^ww|~KtRI|D&XyfCO&&GL z4FIB6Cl?FP$TfHvNnys{tvL~jO5-GJoK!F?1#z&0!0krleQKoF8KWFV6TG(k#=Mko z`6U_>n%B3z9tqCw+0=A-$YpZ;>5i2L6X;w(d%J3d(q#g_>tB%mD;@S~+96HIjcJ zukpWEeL%4H>wVSL_FX5J?t11${M$za2xenT<8kFw`nPWL`-@?yHxhXu6wM#P!oe|Q z|4>6m4u9}3#sA}mD+v!bm1v!RuHtax1Ns-wV)0|Szjgw@j}Z;0MsRq#*qmA#-^&ny zj_=fVE)b>EbmX#Dn855t~z2AW+`SsyS|8%D#B3T_p5_NMMKR<|S zw_dj|ueOqcI+^eaG_kCbK{pRIW=%S7@?g&SN_fzPcDVlHvZ?fR3Z?+jknqj=5|zo2 z-<~fIhP8_Xmlp_UfVFXX0!1#m9M3>$U~HGy%AsT5`(9m}3(&+5 zk)u-DHU$#5e7=YL+`cV;5yvx!+jv)3HnH$LYQPhP+!PB`)G}x|dSFA5mdgqw(Lmdg zAJC^+F}ht-Kfp5q6fXi%kW|ady=LF_ncO)p4EOKzO9{cBi@$kx*^<+|!xHsIC{de| zbF2l|;Q#!iM}F{GaC8O_rha;`8pBqW0qNRp@86$pg@_6|I_Iw5?aTu|mCe16gj&Mq z4IhSK_JwO0&S2gI$s2Hs)lrIb1*m7MMrHYTomd=1`V?;*OY9ho|2mNUc;hUJS^uK@ zcX}-eXiT(~?`&7;6u4}N-Nk67@3qc%wp6~aH={1!hGIp|Vzq4|!RAxo6(6e%h092S zm%8n73R)&}5u+x%G$VSS{Wq1OP#E=x>5o!W3~13V(0SYAX8HL4^u*Zfbr%)A$UdN5O-q9zI_1_;t71C~DE(SuDKS>;bkoc1l0!Xkw-ClJ69Tm?5C2#l(G#E8`78?)z z9JKxykr27}KkY`+1~sn6e5zIKU9j12!}ohlSaGnpPJX{Xf%!J5;p*PfF2a9-`=MS@ zgqF?be_nPk9}b%iw2?eZM0rL7zV+achIXHBs?ZvLTU zmJi{9E^{;B05yLe)FO_2>^M83g-Yfot3t?Z{An)R30qZSVI2Sl(LI)NMEY7{MUHDX zEh3B}z%9c`>|w?>nPA~g?q}eYYJ|vENPU47Y1E$#f%(xW^vTmgK_ntXo64W!pQrOt zR`>0hU?dMdVx;H^D4|PA(gTaW@3wWNp<^v0>na&A35Eca}P^ ziv43lWUn_X3G;7!#(=)C<7&IMNGHPQ~JzxD?T!txc!=?iD`Li|s8AaF`_|>p?CDv7I zn(FV91srbVpc-+>+~O6&SQ3I#3uCtvAmVm<20BKZlymj+_%_hnlz?jz>KoKirMEA( zOp^c3vcQR4x>+T6w*N?@5R?~^%M*xxXIbP%YJ7L+|C5yQfB1DDHxT^MH)tgw@b=vZw4uohFkf|bYYfr*v|GJR;T^= zl6EoTMdFtv$qss>-I`o(rR2OHJCBqr6L&z09pc%^?bdoX0={b}ru6OF-HeIu%m9P^ z3pRztE^z%rHyi|`OyCz(two9^3Pm6sD!7bwqRY_BgEdbX?#>-nW!t0uOjRWz(ln_t zWA_SD#SAMY$+E`a1IeSlD*(5HnA{mq5Jtw0p^ImX^hF3`!)yeA(OEnaVHU&cLwl*q zFuLA5HC3Czci*e$85a-Jzw{kyg>J@k&Pw&aDKixbk{!H5I~=z{3QMHHFc&>5pRugk zqvJEb{QGp3Lq6`LM$YSX$vkeocPme(pDz`nQ|nkZ92Zhn|I)-Bh9$}ZKZSo!(k*0M zoT%xf)|V-IwDQ6i61;lGUT4`gYmDxg6KjJ=p8QeQIelJVfxeQj)cFHBjHR_=Dm$oG zY-9ycIky!hAH7mijPy5po9EcM;76I?Tbp z$l$Wh0)Tkst}?yFlw>11QG)9Nr-5u2v7qBhUgQOALx>t@Aq4m6jF5Yb?iJCQR~XT) zooZ%U1C8LtFX@-3nUSJXrl-(slWU(pq{;V%ZkUq6zL!Rn(4$ippPK$0fL8v?NnR36N0R5Y0mnpN%A``$B?H&&Gz3E_J>GTkYs;bn>9H8-gR%%+ zsnx>q%uC)g$@0n&g?8s|kx{hAPP9zTaK8JxkoRlriw~n0Q9{diy`MkJZlMHhOdWe2 zi#gO50~zocGUd5J%D3F1RB16_lPiO(71Y2?z6LUe#J2KIcfyL*W(kSZKREQG&=k$e zdX5_{%6bV|s<1B$&kV}jbwo4MokEk%>LwBjMQkFe0i zH5sJGi~BB*`++{kVIT537l>Q?6p@OKqi+44nRZNv#nK+2)k8zQOj|v_gA_CF=g&Pp zv!E4YT#&wtq2iu}TC)E6-%d)^OLFxtiw5eZokJX`opt8NkC6)LBlSuoM7=I*xvg=pvu*wuzgO(`@}pL$nA$!a*u%%9kzTr6R6w`XfMVQ2Q8CK zl3-Np@TvFg7EvhxK1aH=><(!LQk)8Vy{}!wiCk4P&*~wi#2!$|h6V#!u&;@H8+dIB zz^57svvxqQSHo>Q$uq8;3BakrMG9G}o{uU*;VPHZtK_2enMAQb@>)|WFzS!$D!WM) z&3>%&{bbNFnQW*>ivp6RlRGHb2zPq*?{gUZWF(~TT=wHQMs#V$Q&o}wp09Qm5*fWI zrjUK|P>tM1>Zi2#P?k2C?lZrqvUFd?>0Id`fgGIUSFWC&Y=Dpt3&nGi+~<=tL?Ku) z-Q3ZbR9yOza>;a&W?rB&z9aiYB59?W9XOF9uT$a)rPq$aP9d|`T)P|3<@maR@UEX+ zrKpa+7&B%dP(2h9;GAUef{Gm17K z72Eqyb#lQI7{ibmw#>c6y}Mm0x8W{7&V7B!>nnr|J)CT6G+2@nhflKs)d0rb8uu3r zO+Yi^18K)bLhCApWWE4*1w|o_&1Z+Dvo^032E2Pm3ER9XvG_4uZjs7q`3f89Hw~1_ zoHFRRplEB^+rp7#JZvn9M)7^?{GI3lAsT$>s0|m5Q@dJIDG22Pz#XZ?gH^~tDy%N_xY?_{l2t%9^YK`qz`eQJ=m9=BP7agJrHNYpE)Ig} zE>(A`q251y2mLY(*x1a*N=()GklQ*U0KycIU3{_E>+!4bDKOBaSiDK*mFt_Q7Bxw- z%plsC$f=H+_L&1on7$OzN;`hmR|L>Q3X&xvZ%_iX4KMXYuvGt|8_P`xhMzKHHYewg zv}rGYJ`*))0AzLA#|NZB)&KgC7|Gs!u@(acnDw0RPXL(X!qq5oStfw-!a3TdfOn~R z^=U}S@k~5qn^aNmM4J7kn&$v6{{Q8tYs~I**t<$iPX@MmekM-IO~xx-zsUn72?w{m zu|qx%O=!|YY4P=?wkO)tbJPXL` z+8I`IED;Z8p(yJeQzLhk|J?bx#JG9(F3a^$0V6(0%;-^aOyzCOLrsO?A11*oRi~h&B0gz2(ll zro`tg<9ueDXl>+Jc50K6^zJY)HYA5BZ*CV0VZj9!q22v^DD z#~)CsDiSv({4&VpF*z{B7u^GGUVwEo_|=?5dTr$JsIM=FzC#Kp-I%qI}dTV$*gA1^;T(zBrhd$P*us|C0tV`Wq(ZLRWB zy_DZq{5$*taWp&O{o^-O8IZV5#)x#|Jt7UgI(pCZiq^4y&zQbr6MMnxydLt zq3gQl`M>N61^{{IUEEeaoflc@2)wJ#WGx$aoQzm2!O&x~Wy*}C@&8SvI?^-{_L59w zBv}-dC2~o)Y-IXZa^8jd)L3q^de_)Cf51C^_s74V;qw&qfp4X1xd3nl%Q0{NGKDD= zKkEHJ483eDz4LFcK(JQyxYg4UeC(dshQJGq^U!wpPAowjfO(1hYE9w1BEYzLrVP;# zf!1k*qbG&`zu13M)7oh5+<1=}`p)6CznkdlPmYJTsDW$A`PUK7le(YR-q+3YJ!3uz zjobBAdu{6Sy7Qm?rH(qhQvr6PBfImq_|2AGx!gwY4qayFS0W@WIk5fCn$ciCcEja_ zlrP3*&k*^<@&!@suC!x2xgaMVOfDcg&PBCKl~BT}pK9Kr>5m4)nWHcWMM4bh){D5# zOQIN%P_M|g&s@Bo8m(?wy|&Rnuqungi-exHK3{pBF6i`*m6;#iUF)xU=4Fa@6gGSz z2Et=rFY1(!>i1lIeid4#VC1{<*q0x!Q{u9x#T4fg63VdMf~3w*?4j`90WiPLburqL$_X z=y7P-Rbw|F04j%lG5WgDmh+8ObGK{0Zp$1D`O>~~cQwjeJAsT!2$)Qmqn-Qi#FG-m z@<)`k?-%d*{&3b9a)@Hez3vqd-+#jhSM-Iqy5vWyH1WTaT@1BKyc?cEE}QIIsILWO zkW_h3B6+8FdH0Zl;{N<0!h9M<>7$FXyvStK@XB%pVyGJT<|(CAMtKrSeJBG61xlVA zDnwkP$ao}nOm7PSkH`G`4VT2AE_@`VrVJ(IvRM4S#le8bdb;%kJ6+1ScaAoqH1)rF z4FkCp`xMwuw)-aY zWup>!q~3NI)(7`?sYabnF|2;y4YI5P&8^Ob)lFX2uoa6wv6S8cpZIj(ct@ku5aNc=+3 ze_;N3ckR?Q`=={Lh+2|+b%o@=xq(Dm!F&47QC<5sgRi)EK?U~a#ScN)eWy4U5jTaD z$xx5WoDM;^PZgGE;5M`tB^p{XFYphW{r2@(Rw+T48 zXsx8y4Ln|Md!*EazAq;v$JWTCJG14DF_g;NO-c*zq>n4Sgfi|O=&q~FkJFZncZ56V zm}LwJ53bini&x-q%?=T6fCT?N8yBeXw`0S{<=MjSx}j_Axy;aO&w1~bA^$GNJqC9( z!c+Z95^jrx)}N+f)d@yMug|oTOGV(*>{E1%4;+qf0qhebSy5IEHA379vX|gB-*IFS z;5NqxpyRT8@Q{;1F7|iEA=-B?SqMUfsd}!yeE5B+_T@P^U~t{Ilnbs-s|?LKt&RDa z5qoFW=Ms4U1w0?nhps6j6}$RT7cxw`$_{<;#hVs@5#+b%zLXCJU>F>1kMUSA>Hz}Z zcYE$K=^rr-m{^95<AM(>vpL00y=Xg#++I1;r_LS%$pi{{s;5`e zySniHkjGB|q4X%tGppkp3BSHtBy0Anp8gpPU?j2rRTGp4WbV;e0=-1fj&AumDxQanap_F16O97=)TWt3^^{h$`zkfO`)T zg9ky=8v3XYx6qvDkO6@0hwxSg$zsQk85%2>gMnaD^=1nmX^gAUMYV{hoqI@*sL#c1 zM~|1Q?*&c94(M?R{NUSN{Xm3vLjCfYId7d;4|rVy&&r$(F^GEKV1EJ*ax%3X0kUfa zZIr*GgKv?Q1ijT>YJcqZR`m1K^Tb~ob zUwED3-@e&@L^@W~m$s*lv0TYrqu?AZ=MRlwKhL*PJW$UQ_jHuk{8S5t%=?KnxvrSc zfUZ~{uh5v@SlqV)ajx#);;2>hEX(LZRk3fmv6=5bdRq5zbjI&Iuu;On8hI}SFzyL1 z&-0qr04JH)%A6sRtK}^N{0#wbg<>8A;nAj!R`Q-+jP7+G?62R14UE*c*<)JKGk4OI z3T}-uy&Ab%A@`SK44B+SK$Y(E4d6F~XmFssiDmj8SAz10ttc{`@Uit-KS%#dOz@bahdaz?8%i~_{(a# z03iRzAhW_fms`Oqbznx%_g^d9s(lruGfWJE^idJ*-wiUocvnXCiZcd06ypOZWK)n8 zRigKt6ToFvdD}tKs`@z_q))lf>`lg#!T0}LcC-x?VU$}76kdY44L!ZvZ+gWMX~W>M zX6hreE6rZauH%!!9Rn+#NeGd)`NVY7jVb+&aJf2`8P|xl1ud?eel zqE6_?cgCJR4^rOyF=3HJpPyn%5cyI*L-%)I3m|K|P1TlgH`Z^n$0&D0=+;X2^zg*v zlPf-J84vFkM3r)hg`|_Jm_!!kBBecz(*|_H8C=oJ_Sb+i1A!)3AJ@vn=epFGLW=!| zT7(4uMFHwHHKjB5EsVl}d8KxJE!o_QhMEhe&)Jp^rdteuy(7H*ME3YE8&X41Uj3_C-w_twAAxiJ>3Dp%O6T3cRNvRCye?d5+_~I#4x10Nyd`XMA?YHLyBd#^Hizx5(Zs9b&O+ITs#O z$zgg1jbF7v)c(E@goS$%u|6gkb`mDso_x7QxPR84Xyvhq7N+a)HA`Nt;J zW)Fv--R^(5*-pdtw*y0u*-!vsEU@bQo9`n4#Mtojd|u2nKu$#c1pvtF_bAUkhXWO* zVn~4X9c2exJoq!J)U8MWv@kAOVE5~I0MKBVH)r$VMssFTR{(YzPvtoPLyQiH0Fcmy7oy=Pw0o<*#+%{VT}P*ZPYe)(}_gH z4;_2FwxK%-E=#XIxq_6_YH4Y|^$s?_mj=jJ!0LQ7z^SyG&eeIe|-<~5PG!$`5nO}L1tV|t_Rq}Nda#<$Ib4JZf2Fro0TZKZrwD^sdMoz zHI}jwZ^!CQ_3(3|je`9)uz2p0eNUt*hO6ax$3)i;eJ`kd!H~?jv>JBa4xOYq;tgHf zz>Dm>lsSJdf%NaPBvGW@^}n9gp(k|;&Aggc<{aovH!3SIeY!J2l}5+y9BAVzIIAl0 z<1TYA%|To$euy}wZ)nBV(_BB8B+F46aQ?@FL9v2C zCD91%+`+ICCmp zeNQv3PYeV{Ij*cHY6;6BFdxu-3O8^k`;nI=EDPje`M6)CTYR9733?|_HLVcLOwZh!eUYjH1b zt%9SCENOv2KV9!nzPi5p9O?6;ETUb4ph{HCE#0)Pr{T1?14C}SY2LPYj5pT=fTi@i zc-(nV2QT+iar>Lj)uy1u$i=KLIIqvt^$6&)@zma=EvTb%bz3Q#(5NaOK8vMy)k869 z;1t@-ji>4gz#tWpGw1Y16d|D0(?1M=$mKP4v>w*7yPp2}g8^~DaH%;?x7C}5{y`H> zno^wI!P+_~M}OS(vaNfre(KVC#BsIMz~L9j$bmY*$QE5InnRJkjx@x?5p z{QLZVP9ql;Ea-lyQd{8!tlC)S$%$9*Y7*+%M(BwBgKVs~8|O2#aeUaUt8{mvjdL5= z&1P-k&88CPFJgDIBegoNb_NJrru5c-ycz3ktRpP>Vn*;a$%uVOdhY`+Y#)}q~ zI8%l0KXwu9ki=Q)TA}taB)i);3wKI~>j?Xc2TjnPgEcJ=o*!~ZoGuJcR3-sRD>Dg% zA3(aM5{bHw-iDY+34AiAJusP+yb8flpK(L0ZOy5(VoueraEI4}Vr)?8$Rfy1wIk2W zu+-Xi4@H&W5#i;mIE^trZ6)AV$97gHMP3Ys(VlTu=3BHq@utaIio!6RXUP%nPv8{BS-}k6YVD%P|^RFc?xC?33e?9+ddsK1i}n) zXsPpfY{lPW88L%TP1m1x9nK2bPgSI!3d{oZh_m>K2+yK3F_>65HhEU@kof1h&W9)d zx&JS@EDu*D;$B>B@)K|+hXaUYfgBm1fgyN-yy z-R``z0jFV_G0~$0|uX2?upxfd)$sv6zWT39Df<#JQ>!bZ&+V191`a2 z7xC_eI+BP;k3sjQ2K2Z6GjWhn)J-P6ajdAuR*oW)XZf>{WD>3ymN8fYqewd$<<+`q zP%Eko)X9STf69hx&XM7|bkwSc_anQ@N6aI%TC#N=?tXAGw?og5Q)(x^JYQ(SnCEZ~ z`P-Sm)6-I$xbosjO0VgSea&s?SA}P(7N0#)TxuzfkmM{c^()sY@P_@AVBx?|1MqiDulrW#Ke}gGMI~!4CHSzTy~V(yfka?ekAB?TtSZ|z z#Rb0V#mnkW8z&4?_I(PSks-?A7Gn*F{rd#)+$`uc66YYfwy|^B^eU*kT|G z8p)yGV#a#iJj$w;nMyKU8hcQnJ<6RC-e>o$*5SIR?^C`q*$lAAkpj8iv1$weX#Hzw zD=Mzzb#UIa^1rKNm6R!}4RiTqaVYVTbfo?{L_qMpAd*lhPIX6xJvK2OW-_Wj4is$! zkD&=w(d>68P@)m03Pl0(&a3IZy-(n5N~YO+MNE1zg1(t=`FA;zq!?Tj*Ie^PyjlKw zgn~ex=5_e~lb#)+q9(oULi8z#?u8D@%CFb+c6f z8sNxN{Q!UUT(#&;xgtVGf!A|9j_QIHD%rIISD5!IZDm`l$Nc#li>`CL^zLuP&9?@> zX}-A&*x&y+xJ*%cc?UXy!dv8MaW`kkijhvt^OK6UmR&g0@C2 zZG?s!z~x+`T|?zy5aN0rO41?gjkhK$EWs$x5Eb%#p%SuqQ#NA|!-oORJmIoaA z9crI7wCuDRM?1eImb1inun1kH`s+CYytoS{FQCRn-cMpeOi6(nYk?$&xS679kW+%8 zS+wF-#!H2)Xi*`+Dn8T7tq|0(&gXNe)wM|L%gFC$^hRf))z9rKr6%3hHpETKwMi;o zY(j`+SLDp#4tV+sz;0GdhDz*BdZ{VuQD#t&OcuKahO)YPE_Bmwta3?M#uT{j^F);L z^n*^N5)?*SeAlYf!{Gr=!CR!6z(lxu5IW`f^1|O^s07?r__KGaBsWs!53#i5_$vkI zEEKyAB`r`8>C8LKgDHF#z02@&O{V*)UI)pagZCoN=K=gQm@+Sv=nvn8gOjvMNPcV) ze^dW+2Ay5J0dMh{>k}{xqyU)M_T-Mj&1%1`jyK}Kr!B37nSCP60N;C`v9R2Sr)0_>Uo2!N$P$HHGU3Sb{qX4Z8s1r5Yx!2(;iTdSE zSn~L-%0?5|vJ5Z1-5&`leKl6xwR4`l`<%Zd#(Qn7+CDTq_n=3X^o>0E<1?L35<2kC zzUuJABD}fegX)KwPYi%|^Qi%>29ysz0p~}?yZetY0r5Zu9>`F$8t%4NdN#sE^z{F=9r{or zLst$pBL+!-e`C_{!u}!-=P}DoX(OpZiQQ>WNJ@IU4+DF-%=z3`qBy$0_~_u|am@Np z)r&vKfKZ#z&eqn}jYCL;{-Tv&*9f=Dfew<;xrvJzP&&zVS*NeiR<)w?X5hH=>~ixk zJqS;{>8l0hFeD z0-3shY+d?t?jkZBnXbQ~UC_oyzTgY}_{QV~YoQFMZh7}zDB-;Y7psX?;#cMG^PXHK zp$Y@P62!s6E)vMZo;wW1BCzS5kNcX^uw)=SVoR{+)g@ukRPm%yg#p2fE*#NFN+h`> z^XqKdOd!9s5DZ(WGx<^KF!PW$QP=2`gkxebGBIP7IXYX>WI2i4eL7<;(bL-U_IJ%hxY6hpYZNnPb7wqL1{7j!?V8;@t+! zP<_~;@Vltcf?Sb)9-JpE7at<6Uv<(OntfkGa!&IIxKhWiB-GxELLU_-es7!%PfDo^ z38BbSt^%=@?fe*EN~;39>O;@?MbeWa{5nw{$3?}>-!8C&G|#{LR9oD8fY z&KMX^$}m>Ch(_baNXCO)gX(wNhX#Z@bpdrzr2`OCu zP3Ad_ShQ#n!4pY9zq+BjqFikn@bZRbkC%{NnW@8TJ_s)h2SU*&_C+Lf!f02q%-&LH zcG*>3?}#feKY@yWu<*W%l7f||k`$Y3nl8JSLT@^tXQRO(Kci^JrcGe^$@<(P-=EF% zK;&aGb-|$N52Yh&L<&lIYG1h-Z93b6s+!>NTw3osuTM>5-8_l z<>OD%54a~9@)*_2CPkGt9M}J`pz)f>6q1pIMO0;rSkm+HnzIOjl*x-9V-slvV9U6{ zG4=jt8->kc%T-iZ8b0%?^$JSZG2gS^M>=6b01i{llWcqQ)A+?gmcCGJAqT_}k;3IZ zDy$=K$pAf^^K-GgwCwfRx0ycL(efpIFwYEq)SYY6bTFi52uL4wWI97G$v_fEH-!%v ziF+I8AQqYizTRkYi%yuZol-Jd8O`n|u=1jT!Cj0n2$HZOoyI+CibBuA;rY>Tartxh zB~*jEzs}v4OJqg+x|MuQH4FKvA@U(s9E0{RIe{}y`ob#D218Kwn-RbShkWBoC_O7@)`F zxSv1j<$570KDI#CJ@G>w#qZSf1Xo)@<&-8vNi2a$r!IRZL(WH!ej&!RkP0_H$OVeK zQ53ckq4W}c7|z>d)2t$E^g&J;LQGcbIr|`4u{m3$X$C~$`H!aP%rrug!9gR(3SB2q zX*uW_2t{OJOa_7YfnYx3(q3~M=FdGIn4>h>JURt2I`ThE4>eX~Dw)&3)`e6;7e$HEfvV1FA9}x5 zh|D8t{iiE2=}5`<(TJ~%mi>5hYYhOfS1GzxW=1E25&j{MghL;KVkHIcJx3fpB!}gEXC(3aQUy`-yKJT{n$cQo{Bl*^-OBDC#6%<4HfHoQWB+w zQ|OD(@ypv94!69^!@oW|y~l*MrlAF=t^1p{iIfP%#9t_^wJnoUNp^tXuL{HMtn}Oz z@Ih~1U#U8LEJp>?8#n?ZdISgwVBv(!;?r6EgZWV%j{ZI|Tla`!^Yp0J(@Cj+7@_r| zdoLHG?cEygB_wy!k$<~@=3?#@<71uo_dt#Z3npuRWocHzg*GZwcg@rH7V-ajuZ%m&jd~=%5a3s6~FFMjDDNggTTV_?0Gn4#3?R|MT)N$0W5?ND(5Go;r z>{|%glWoSnB#i9)zLm8o`!;rE86#U+$Cf5b)?$dVB>Py#Hendl)33kY-aEt7^+VnW+s6?KOKRUiG5R4lq`1^Ry>O4x^S;XF!JB+|l7_`$uh*VPgS?VM7DK4>(VLFTbz4YW$ZxKPCN) zZu78!vd9wjDVb+%%?f`8zz#Fj-~DbQ_L3H11w55w^*chO*}@=?6(0b^0X&^s(m@27 zlmGw@;JDn2WhJmV!U{bZKEj1+`{5m{?VsI$7`(ab9xJer7_#kXeUCn6ah>qH!}3LR z@A$GszsoACnHgR5u7WV@s8_<=3`w7O)R;V%@xPn zSb8TP9?Uw`Uc=CnA2g)d&TTDwR*Fx&=I$iIyYIy(Vv3f^rCqOMCQ@G3#9iWPhnjY)C#|Aij{TVWs$DahMZyMLPWQ@aN1BzrT>AUU; z4u)GF+hcz(wWj;2U7mx*eVYJ)BYO!wK52h@m;?(!IOO=_?RaMP3YI`^va~bCoAX+$ z!(o2L$=Q=BJ%HbMFmWAKJNj*To$$iAOYvk$&dBdyq}@z@c3^yb(Zjs+Z|kLEZa|Pgqf&xfviW{w&KYuG@ZTCTgEj5(p)>Ph`3GXh0*2sF%7u^bMD=0 z_<-2vE{4<3UnV%PE>JHut%Y}D&S;RznLNl_O`w3FsD(b-czC|*^TM~~`{A(DJ_q6+vpPT$eZ>|h^z6JW2rirSo6x4IBblEkdr zmMIiQgz9q-HLru|0@f8vdJ`}1z%S$4^TuU9u_vh~?{=o}zcr>!>|o%DatP>`Hq!K_ z_R@8o@5t}k#Ur%9s{7cKa$l*23|*fsT)3%;KH_Bt!3D$99he~~;;4OhBbs@9^zG5>Y~A9L^hu`d6-fOanSntb}x zBYxero%sgh@-B=#RVO}GuvjL$lxtkwL?yF-UURuUe5d<@WxuD`#hhNjY<+rj&;{Qq z9@#haskSgjJiA|wA=wW!!38i~2xQV}P$o}GLmU*yoF?O;>T=ItE*ou2R! zov#lJOQ<)hE}$FPQE-wDs+?U7-*WiPNzI~KL{G;$q_wi@>-4#~YpAok4m|SKy#u?+ zuS=ea4;DYS{hmALdCITva6oy`F&BXiJ@-oRP0R*RAY!AR-04{zcwW7q2CsBaF?SFF zerO#Rw)kG~$QHhk4#yQ9_AN#9jlR(;4$TI^x?O%`7M{Bq`Nr4@KCpbRMVDE?Sw6^x zMU14H>-}d2TyOjI_SeN|bSFontq@}HGrK--sS>QklZm@So2v}L$hwZ(tBiV^>D%C8 zJ^N|V0|!d3$aup;yUIFR?A(=E`*u&FHd#i5(0g}y4Kw79mjlkI1jHY+-faSfZOuK_GQ#|7&(DpiZ~4o#IFe(vTl`;j z#|_OxYr~9QX!~8v+py@06H}K5vo1Tz90K3MmNsv^eWWYqi_#vXud|>zTtMhLo>Cz0+((N)Zfti_K+O~S)MoHUXNCS@t4NHCK0{5A-?c%TmzZ_F*Qi zAutU0PANYoP%ue+(^DomPT;Pl&S79#Os1a5E|clQJ!$)G^WI&C*wh4?qH|dI;0+$_ zl_s)XPcW>d{<=>GcZ>N=v#hUuH=8oPAYPBcH(G2J7F|n+4D!Xi@_vphU^lO@rPEQb zh7K&3Tz1vG;Cr6AMFgmSP~c3qSD%7?MbYVYIWVo~ao}vKIfTk1kq+IjAl=pzzixK9 z->V3SJiI$Ustns66WoO{QG9$#&ZtmuQ$Bn+bvNl7nAJI$e>MMl(Ye4(*|&V=*~M;$ zdh`&(x85xnt9PFAnMo-C%& z=t}u29x}_f=m@)BFXU@?;6Rq!D;0%-5Sf4Otw(#ucEkroa>us;xc48iBfz4lx3&PmjYZJa- zd5LE51I1>u*pQ4#R z6$SA+fh*j(0FrOWV~wHk;~H_O^nL4)Oh6GTx~8NL88K z>_~{cU0N3KZDUft{_S`KZmT`#DYCgl@_T-hVc$ITjS*}JRMOTZ$aCVz{WQ6(7~A=} z;gx7PfoIFS{fg%*97?dwgINsUqbs$5+0U0Xzp=$P?s@l_1sS%hINsj(?67U9n+!sA zHBGe@W)8dQGM+drdnC!k*Lhbl^lwKU4j*s-cxLleH?;Munnv$NpmO;c9|C)I^(@-5 zr52g8GQvkE??gs6}7d#g!&eq}))7O=bfl~eS@a8GUo3bHM( zF3=`@@kur-?x1XVt~Iq4Y)_>jeO8(r3-Q`+Dc9TSJ@E)eBm89NKj(3NhuC*gNjnU9 z3$3`3m&BSJ9;TJyLr%QgccKGxK&b842^c_T1R`h0zbz2Tl>s7a$FGbdpvT3@$YZzj z2-xwzhyNdNrkxIm=t-I7ww`#Pg*|J>A-(m}lqXUsY8}z9udn|lP?-W`Qc^zcJ{dnk z1e}K;x{w`@aLE=q7#VV?sF|%2xc^Mh+upO5{5(n!e!(PBv)Ad#6RlI99C|1wo6WWP zh>7n^e%N*n#c|o z01Iik2J08~kzpEVt(KxZw z6+s|=rbLJ^%#ZH%eFcKcAwy8$J{GxN(N%(Tt>_-$OKPGLfP%;eo{+~{{UJlPB##v; zB!%w4Y+BL6XWm@}cDRCi``^p|H*@}LNzO<*LlCvT{(cdrZX~7@(2CGX5uyEh`0k*$ zi9^RQpc<{fkORjsob#k>C9^T0LuW1RAv+Dg9nQdxHZKPaK-r#GL#O;_2Qh&iAN*b) zHADdo=BSWZOgRoxcl#t!NP3s)cB?ojho0Q4&noX=?vXcA1um~^}u@DufKQ- zWoX6^@o5Dze|msg!gT59;9}bN4(g4VUqEaCRuCFM84l(O_6~6C{jxe*c$v%>n!#oa z0Ayvg>dmGH*1!-pgEWS+e-JGhf{zg`gNrE~Er4#zkyHj5SI@&qM0#*<)9qkNtGn>1 zSxc%a&ZiL^XaQf5eLB{o&eV4 zuT3aqg)aX_jr{e5x3+rL;tMoudW!^~{HE`c4`e5ei832Nf;`IbJs?N+QLvUZF-g&Q zk{l)a-qA&5GHg{0P+|F*hZ8+ze$!>~4m#C&K?~A%m-+osj<6zp3KH?EV}VKH@4R$| z=0NG7br|3Kh4ho%9zhmh9<~$rP$vx#$ii#yK#`J2QKJ)f+pnr#0(uf=0%-n2kI zr1#HGt=18%HWCaXe|Jh@xNjkw2vpJf_2ayMCy0E8o}cUaGeyoiVi0?ULFn(4B!>F} z?H@PE4*WaehecMupOrX?K~HJwtfS1O{0v+Wj5R}m#&d9c%GasC(unwoJE0#b>^JY? zMOi6?b!3>o=#SXXqiEj#47~U%N#?=rMG+(5_6~uA#SN%M(|#vVcStjqD=*>zhEM8# z7wnhy41o)@s>Gzex{GIm1h$t@9`TnrfuW{XgmQ^-Ptfr5?VrQ=-Q26e9BB0R zg&lz}+Z_jQ_Ku1H0o!*{eB+rmf>rX4=JYk(FFyFP2r=6=>d3p0Cw+A}@^;34X zC6SW7lAq;4tgZ$7+MQHmA8&kAtu%}4X7ar?6^wk;h(e*~a4H>O_ML~B&u1gqnM$bf zcg>Q;7O~HBXyp>l>>KBY^f$hn-VV(*h+;dIfj9=Q=hQ<$G=Ctzg*15)#A^r@bgg@k z8i7^?<;Zz12!ot8GjBh~3z~54U~kiSV)s<=Z%p51t0Y$99@XPkzV}b>)hC7@*eTeX zu`c?c&j-o(^;iZOK*}(QoP-FPi!Mg^_iLKk-y=!0&I`Aqj%9zpr^1~jk3X++-IlZNcgYVFCEeW&+j70eB|4z&9vE*w63~O|)aIRi-t{tErS|D*FPNXebM@vY zG_yuBfv+*wq(AO@cYIX#Jg>IQLQA5|?M_&PD`Vspy&5nCu<7m+!S(tu9|Q zjXxmX_~2NZ0y^gEa?hHRMJ2VJQu4rab@L}qngu_M45&c7Ski31mMGI2lIjj9ETfsq z`*J~ZQuSL`>Our3FT2K^PUdrkmkyMjj?9aTg#;{vcS?(&d6;Yazw6v?M-OYDTtRWx zRaz2hDyHHeQ#(|T_gd&#+wAv$m4>#^y-<5vP z?s)x~o{Ekb&1x-jaEN*xq`_p?yp&KM9OR@m#)p~!R>#XwbHC)!Axx#C(1$OY+|c|& zHDB|?$`mG?%e_@lA?db=uLGI!rcW|<*aoF63@7M*<|2B>l9s{nlacx>#WFv>vg-N~ z0G{<1N2N#2lUxOhHXP`#?Rd^1SXriw-c1d99r*$$oPaE2En<5qmSH$pFC6_yx*-Uv zE-}u|X47o0iF70fH|g@d7!E%Yr%I?r3xH{d8v6pLsFP7gZVTBN6(Af7BQJgYhM~x? z+ZjOKLxJ=361sKViUVTar{=^|=5&54f~U&HqC@g87lYFI$VF1C$@2}Xw`g)W#qXM| z4Q2BsxbmX3#p8LZqu(71k%-W8eYq_gh_RxdU6*A!h`Y^CG77!$!idE7t303dzMnxF4y)35?a@#VHXdE2I!tGGVebiiJk{Y- zyfDHK=QJa1GL*Hpz-1d-m{UB~+c->>KnT17XoZB36GJP*CI@ykN!-S>C@wxv>)4`f zrBWw5s2?Mp8xE-0e2d1@(KX2~S03J7c)Ob`!BA6G1jeO4lUvxey2w^s?NQuSZlmSO zBqw5@i|!f7GQQeEi*Df7ckUoPGJr~u2&xx^8lGHHJSD4rZQ5kc7_IGvONr4wLpnnl zT<0rAjXC##KFw<}>7K36_STYrc%^`C^wgqjX>F$%qmh%|r?! z&(d?OxA)elW99S4D?9Fi#>?64qdswK27RGdHx!!sDbfkWSjEmmmU!Y4(D#;fb1pKRw-Cbvt3SDJMK zdm|J_?}_JK6ge=&B&O_@@vc%6J~7Am5ddR30hAW(hTo3SZTI9(FaA;Hy z;MY|Md11(s$%?i#rHQIgg9;_o@J8TX=Hwy%8w_Jfeyj=HLi=?H+}mK%Y7+ep*Y}eZ-%%vQ>X$An+*MSmDhn7a%Hjm zr|o!WCf1rD%b)e}61>PPu@;rBfMrKF-Xm7^bWsE|3zA?j<@xmvJt~xtJixhjfUkeqknA#($34pnLqlkzl1((04j-0-Cw)~4C zL+SnXkR$722%Ykal~5JwAn^>y)$)CV`UUtU)NqAqP>tQMFsWn$1^|8~wrgHT9WG54 z#5NoRI(P=#$a_|6DS$aBcT?XL=jcB1^URPr@=`CQF#H^6?k7*TmT58pYwX6;*~#%g za;%pq&Ccg3b7JZIpvAw%R+A$|db&RlW9N6EH&1vzDCp1|+hK{{yOd)Bi=hL)zwEXI z=Q?F~|2Q~yj#{gFD!%CGvLwIyA>e<9pQx*V8-O;3myI#r@Wha^E*9=9>G0C2MTc(O zDcs4bhx_x150TnWDyQLW#dUHLYZCbqQ}z{M77Nc6WQWwx+(SiM@`7R`-bZ*SC)|po zm**B$MtxvHdB34Z2}6HkMAF#Bs64EbA@@*N)v_D_G_7<64$?v^iT&;xLmk^ma$ z0n5_RjpYnVd&W>#@v(us4dvMz(L~^fMxqr3%sjQqXVcm-8bns}xeQy}*ZAlV zw|!N+0IV;_tsPk^b{7^jV`r^|;+j(u42#Z!s)h&NZD2SPl)f&2?o_>3vd7~d^XBGL z;2ZO`fkT|H*-J{=$AJQZLXB_pl9mtUz5H z-n=f#b9fMy$sK-K0{@2)$Vk(y?aG;)H-W0toP;&xTnfp^9ilgPtM47CJU2X}eJSOI zH0oQxql%`!mU*)$ql}8yvR@$KGj%Pl`r27m*-{T#(JM7k6X}(wc5%A!a=j|77ju^K z+<7G&T@tQ5NMei|WMbRI3hC4|I8`sG)~r`&{~^?A_82ClrD`=H|kWs_fXWS1%l!O-Uh#(TZ4j zsZ+L^Jq-Re=B-0d&G+CW)zkX1E-`LX?(TvaXBMVW6TjU>Jb)Zbwd`M`+^N7@# zC=00@Njwuoqp3)ax0e!fn9z|-JV(En$+rdX1+6ALkwZvvz+;mnz-8HY6cY+uOHjP` z@gP?Ky{YZ&HreuH4fkFA=QOslF_rwe2(~Fs$){L_yGSc%v&1lg8R#I;i{cUbxClOp3IXFUm z0b1in=9KXH28hp6Eu*sIRI|E!o2IT$EE1ZrIxDr~MSA zEup-;lr|Q~?fAtZLn(N)elfKiyz@i0vD+h$ZnJ%`^cG< zDh0>#42)!c9VUDFDLN>KnO!}>w5uEVeu+(hw4S3+atUe#!+KmkcocNTCdRXb)U(bX zRRTW=6kHR!Ebu;?zCdllbiFEKo@QTSa6pIY((j|ag;j*JG6)&HO&{k}=6(Rwi~b$+ zc&{ahG^Ar+u>^`&pPb**dR%Zdy+J^+`&%awg^v`1BL_<#iN9?NAHiSz3XELRfru~e zd}{t@U}zUbQAR6j5}^4c%wPbuD3{ijy%P(Rmp&mU&pILz)w6e0a{h#VJ|T}uZx8fD zS?I~2Q;>)lvA!kWe<%YY3yV8@Z+k9{gOnc6+@a4yx%zOgO>`Ep+Mj!bd z0ZC_&wB22<6R9CTp{oKqwbSe?^bhfbeH6+uEFxC_Y&g^7(z9Qv+gmT0aUPYnlG#j2~o2rT-Y=;e@7En+W6=01@@?;t%8?;w~P|7JvCd#3YEk>YvPb z3^DRM_{1jUQoPyEQgDCspB+=IBBZ}5QvSogkpzaadhSC{8}LC~;gjayyAt^eA{#8# zd;b||ki_8CA0+7c4;{LY5fK_N2SI=U0-<>l3p0gU*q2U>{gspuYpBKMJyb0JOE<6I zJZ!D$sj%fh_sbIZAK{z)V)b%2g}vo=FCd#CI2oX@VC4336fPVpM__ZX1&$dpOss!vQQgH4iWC302!y=Qn^x5bTh6L5QKx zj4ZYQ=_=!DR-!Lb-R&-=_A0zeAoI8YIOMOBN37W6&dK_GPpyON1bUcI~2<)f$b{8yM)Ldc}N3QI}IAZ#yKLfU>3YCS??h}qo!(wtl$ zifI{6XFG|=TKq;%$Y9j^(*(dATogS@+Pt4TO4Rkw zUO{a>a0kMjR~(LVLcSFeK#2Lg=uuAS_Q+98m?YyUC&Y5HK9Ccl`p;bc4uqg1MEJ~O zNCmVND;%B}X;B$O(6acGxmW!`1rUiYV{m|w1Zb#G0fp7KzS)8^vLI`~MAVavbt zD6)-ro0C?93VJ_in);1Z(9A% z3Rx9Op$Mex^f0RGlj9k*#bl1v+F#1Q0wvOQf1uj5TAj#Zew zQ2hPI$)d!yhP(OMTI%fX;S0GuE2XvKbPs`E|9~qdoiJmp`|Bw*^x@dkLb$yuVaRKs3 z&9COMKPjRi=oCFb)4P*=unf?3?)7mp*#bH>IL~iRIomNgiEEaMcxV79pDb{| z|5b0i+jG*pQ{}mu0>RcZRp`|GcJqr}mS7odVC=mQ`NC)JlwV3>C>t#b#_u6j4)D=0 zq6E>B#06IgaBaCgcd&SKV)CVL`f%(vGdZEa4M6Gm=d6g+xo{;ImE{Ps;=qp9J3Xqv z+Rr7RQ$=r*TW1Hkf!gDy$V_1A{xl$YVq%J4lsbpWJ1Rsko)#$q7?NxOPN5rlK`TJB zMc=p}=@>16Ft93#C+vF}K`zjF2c|&eO+@fQ0?3mybJy_@JnH!fSWvB2(^GdW?*sNW zl5CZXfYDu$FiaBUqEGM%*ysu>FQno0oQ+ zlBd*sem+pSv^}%In))}tO60Kt!7~!0*Vpm6m^yHpd+oi`znE$PhQ*t2OupXI^=-q7 z4j-8I8wVCYVukuTZTeNNY(Q&0&gJ|Nu}Sy(cLosLBur&bW3PlCL;@fef#xWETzmpc z({iLELs$HmR_-}4yNT@8S;(m-me|W*wz)c=VKf)4C%u_#XWEG*dp41(aI!W&F^PQj z70S6W-o$smeoO;ev`;;pb=OunN;RnKv4g~{V(ja*7^SZ8)d)6KSOF_{LHoYnWg@j2 zOY4VZcd|s>I{OO}+k!IBa4`*Us$(CYQ&X0^u_}Ubf}Z&$6iB0@qyeKOeMz3q>=>E^ zD>kl%m}0IgSaq;Cn5f67Ir}nKxk|Cnbm~LCxcmFUOxmA^xu(+?X|ELwy^9?R7j&}L znlEB8k9&R_-t{qJ{4b?6aJY{bkim8E)9$M&s=qbQA(yg-C(##<3~J>_kl0f!YOWbe)AJq_$vfbN@dGtDRhv7JK!>LZUA#x>#}j)9i%Y=7m`8Vn4m%Kpk8s zDeGw2hB6wKpLDI1(-L2NxtmBE>-O5w6udj6Zjrzz#`Uirmg=e@;@}^1)Cyb$wH5od z3dO*sFK>UYx?ElLMaHc-HD^wG_gPg6S}n-ng*hdvdf+MJIqp0Jik((jovo;+-k9Ub zFO#>ndU|lRM(mBlBpY-8XkWxzy;L26`9I7c)LUl#zi394$*W0_%oxAbiBpap|HuLB z1v~rJ0~g<`gVs?hq8T!J@PAkdz_YtVbEk%-`+kF<=c}B+ckQ!2b=_DU_=zHH`tx8F z>acaMyj2-3z1`Kk67gO~L&?90fv3bX|ccne>6OzAj%^|Bi*ZTf8V# zEKO|6d~BmC7y0T^77S}q;8*lrWG_^;bFXAgHBY(qqiS1|4g#-SiNqD+cuM9`MgR7uw9iO?|UI__UjBt$uX3y!kgckfO3`h67uziI95{llLYAr0& zRqbJ?%ujUMCR=+svns1(dz%rMAmB0`1AJ=q8 z(Flx6BkNI3+V?;`;ot79(I{FU_|~-7oIC2T+bah+<_tsM1<_)jxVf4pR3>xdrA>5{HikvKx`1O?f8a|5yZ&jIn43PQq%-# zt*qd?_y&y1 void, + initializeDB: (initializer: IDBInitializer) => Promise, + // initializeAnonymousDB?: (preview: boolean) => Promise + // signInWithToken?: (rawFirestoreJWT: string) => Promise, + + getPortalData: () => IPortalData | IAnonymousPortalData | null, + + // These are directly related to storing student answers and fetching them back + watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void): () => void + watchAllAnswers: (callback: (wrappedAnswer: IWrappedDBAnswer[]) => void) => void, + createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => void, + getLearnerPluginStateDocId: (pluginId: number) => string|undefined, + getCachedLearnerPluginState: (pluginId: number) => string|null, + getLearnerPluginState: (pluginId: number) => Promise, + setLearnerPluginState: (pluginId: number, state: string) => Promise, + // checkIfOnline: () => Promise, + + // for saving a whole activity to JSON + exportActivityToJSON: (activityId?: string) => Promise, + importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => boolean, + canSyncData(): boolean, + syncData(): void + } +``` + +## Initialization: +Call the storage initializer `Storage.initStorage` with a few parameters. +The `offline` parameter is the one which will switch between FireSTore and Dexie Storage providers: + +```typescript + Storage.initStorage(name: FirebaseImp.FirebaseAppName, preview: boolean, offline: boolean); +``` + +## Use: +Obtain a reference to the storage provider by calling `Storage.getStorage()`. + +## Link to Lucid Chart Diagram: +https://lucid.app/lucidchart/6d68f2a7-ae09-4ba1-9cea-b0a251cf43bd/edit?page=0_0# \ No newline at end of file From cba28e6fc66a6667602f7dabfcfd379df00c918b Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Thu, 11 Mar 2021 01:02:51 -0500 Subject: [PATCH 055/242] Added monitoring of network connection --- src/components/app.tsx | 12 +++++- src/utilities/network-connection.test.ts | 54 ++++++++++++++++++++++++ src/utilities/network-connection.ts | 16 +++++++ 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 src/utilities/network-connection.test.ts create mode 100644 src/utilities/network-connection.ts diff --git a/src/components/app.tsx b/src/components/app.tsx index 05b77272..8b89529f 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -38,6 +38,7 @@ import { OfflineNav } from "./offline-nav"; import { OfflineManifestAuthoringNav } from "./offline-manifest-authoring-nav"; import { StudentInfo } from "../student-info"; import { StudentInfoModal } from "./student-info-modal"; +import { isNetworkConnected, monitorNetworkConnection } from "../utilities/network-connection"; import "./app.scss"; @@ -84,6 +85,7 @@ interface IState { offlineManifestAuthoringCacheList: string[]; showOfflineManifestInstallConfirmation: boolean; showEditUserName: boolean; + networkConnected: boolean; } interface IProps {} @@ -92,6 +94,7 @@ export class App extends React.PureComponent { private LARA: LaraGlobalType; private activityPageContentRef = React.createRef(); private studentInfo: StudentInfo; + private unmonitorNetworkConnection: () => void; public constructor(props: IProps) { super(props); @@ -123,8 +126,11 @@ export class App extends React.PureComponent { showOfflineManifestInstallConfirmation: queryValue("confirmOfflineManifestInstall") === "true", offlineManifestAuthoringId, offlineManifestId, - showEditUserName: false + showEditUserName: false, + networkConnected: isNetworkConnected() }; + + this.unmonitorNetworkConnection = monitorNetworkConnection((networkConnected) => this.setState({networkConnected})); } public get portalUrl() { @@ -298,6 +304,10 @@ export class App extends React.PureComponent { } } + componentWillUnmount() { + this.unmonitorNetworkConnection(); + } + render() { const showOfflineNav = this.state.offlineMode && !!this.state.activity; return ( diff --git a/src/utilities/network-connection.test.ts b/src/utilities/network-connection.test.ts new file mode 100644 index 00000000..75160b9e --- /dev/null +++ b/src/utilities/network-connection.test.ts @@ -0,0 +1,54 @@ +import { fireEvent } from "@testing-library/dom"; +import { isNetworkConnected, monitorNetworkConnection } from "./network-connection"; + +describe("network-connection utils", () => { + const {navigator} = window; + + beforeAll(() => { + delete (window as any).navigator; + }); + + afterAll(() => { + (window as any).navigator = navigator; + }); + + it("returns network connection status", () => { + (window as any).navigator = {onLine: true}; + expect(isNetworkConnected()).toBe(true); + + (window as any).navigator = {onLine: false}; + expect(isNetworkConnected()).toBe(false); + }); + + it("monitors network connection status", () => { + (window as any).navigator = {onLine: true}; + + const callback = jest.fn(); + let unmonitor = monitorNetworkConnection(callback); + expect(callback).toBeCalledWith(true); + + jest.resetAllMocks(); + + fireEvent(window, new Event("offline")); + expect(callback).toBeCalledWith(false); + + jest.resetAllMocks(); + + (window as any).navigator = {onLine: false}; + unmonitor(); + unmonitor = monitorNetworkConnection(callback); + expect(callback).toBeCalledWith(false); + + jest.resetAllMocks(); + + fireEvent(window, new Event("online")); + expect(callback).toBeCalledWith(true); + + // test removing event listeners + jest.resetAllMocks(); + unmonitor(); + fireEvent(window, new Event("online")); + expect(callback).not.toBeCalled(); + }); + +}); diff --git a/src/utilities/network-connection.ts b/src/utilities/network-connection.ts new file mode 100644 index 00000000..108225cb --- /dev/null +++ b/src/utilities/network-connection.ts @@ -0,0 +1,16 @@ +export const isNetworkConnected = () => window.navigator.onLine; + +export const monitorNetworkConnection = (callback: (connected: boolean) => void) => { + const isConnected = () => callback(true); + const isNotConnected = () => callback(false); + + window.addEventListener("online", isConnected); + window.addEventListener("offline", isNotConnected); + + callback(isNetworkConnected()); + + return () => { + window.removeEventListener("online", isConnected); + window.removeEventListener("offline", isNotConnected); + }; +}; From 1ebd734bae025de6e39e78aa209ac235e002e612 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 11 Mar 2021 10:05:57 -0500 Subject: [PATCH 056/242] Fix failing jest test related to report-service-name --- src/utilities/report-utils.test.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/utilities/report-utils.test.ts b/src/utilities/report-utils.test.ts index 8911d5cb..13844c01 100644 --- a/src/utilities/report-utils.test.ts +++ b/src/utilities/report-utils.test.ts @@ -1,6 +1,7 @@ import { getReportUrl, portalReportBaseUrl, kProductionPortalReportUrl, kDevPortalReportUrl} from "./report-utils"; import { clearFirebaseAppName } from "../portal-api"; +import { initStorage } from "../storage/storage-facade"; jest.mock("../storage/firebase-db", () => ( { @@ -62,6 +63,7 @@ describe("getReportUrl", () => { const reportURL = getReportUrl(); + initStorage({name:"report-service-pro", offline: false, preview:false}); expect(reportURL).toEqual( kDevPortalReportUrl + "?runKey=" + runKey From c7afe079ab594e41d40461930f57397c846eb20f Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 11 Mar 2021 17:33:15 -0500 Subject: [PATCH 057/242] Fix bug in setting up FireStore [#176982423] null reference in establishing firestore connection --- src/storage/storage-facade.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 97026235..828d4867 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -111,9 +111,10 @@ class FireStoreStorageProvider implements IStorageInterface { this.setPortalData(portalData); try { if(portalData.type === "authenticated") { + debugger; const token = portalData.database.rawFirebaseJWT; await FirebaseImp.initializeDB({ - name: this.portalData.database.appName, + name: portalData.database.appName, preview}); await FirebaseImp.signInWithToken(token); } else { From 2cb7039fed25844cc61a124a27231df37109fa9e Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 11 Mar 2021 17:03:55 -0500 Subject: [PATCH 058/242] Add basic plugin state saving to offline mode. [#177304245] save student plugin state --- src/storage/dexie-storage.ts | 4 +- src/storage/firebase-db.ts | 15 +----- src/storage/storage-facade.ts | 86 ++++++++++++++++++----------------- src/utilities/plugin-utils.ts | 4 +- 4 files changed, 50 insertions(+), 59 deletions(-) diff --git a/src/storage/dexie-storage.ts b/src/storage/dexie-storage.ts index f2a6c5ca..8bc93684 100644 --- a/src/storage/dexie-storage.ts +++ b/src/storage/dexie-storage.ts @@ -8,13 +8,13 @@ export class DexieStorage extends Dexie { // (just to inform Typescript. Instantiated by Dexie in stores() method) offlineActivities: Dexie.Table; answers: Dexie.Table; // number = type of the primkey - //...other tables goes here... + pluginStates: Dexie.Table<{pluginId: number, state: string|null}>; constructor () { super("ActivityPlayer"); this.version(kOfflineAnswerSchemaVersion).stores({ answers: "id, question_id, activity", - //...other tables goes here... + pluginStates: "&pluginId" }); this.version(3).stores({ offlineActivities: "&url" // unique by url diff --git a/src/storage/firebase-db.ts b/src/storage/firebase-db.ts index 2daa3415..3ad1584a 100644 --- a/src/storage/firebase-db.ts +++ b/src/storage/firebase-db.ts @@ -279,13 +279,6 @@ export const getLearnerPluginStateDocId = (pluginId: number) => { return docId.replace(/[.$[\]#/]/g, "_"); }; -// A write-though cache of the learner plugin states is kept as the plugin's learner state is only loaded -// once at app startup but it is supplied on the plugin init which happens on any page change. - -// TODO: change to watch the learner state so that it works across sessions and not just on the same page - -const cachedLearnerPluginState: Record = {}; -export const getCachedLearnerPluginState = (pluginId: number) => cachedLearnerPluginState[pluginId] || null; export const getLearnerPluginState = async (pluginId: number) => { const docId = getLearnerPluginStateDocId(pluginId); @@ -293,10 +286,6 @@ export const getLearnerPluginState = async (pluginId: number) => { return null; } - if (cachedLearnerPluginState[pluginId]) { - return cachedLearnerPluginState[pluginId]; - } - let state: string|null = null; try { const doc = await app.firestore() @@ -308,8 +297,6 @@ export const getLearnerPluginState = async (pluginId: number) => { state = data?.state || null; } catch (e) {} // eslint-disable-line no-empty - cachedLearnerPluginState[pluginId] = state; - return state; }; @@ -357,7 +344,7 @@ export const setLearnerPluginState = async (pluginId: number, state: string): Pr .doc(learnerPluginStatePath(docId)) .set(learnerPluginState); - cachedLearnerPluginState[pluginId] = state; + return state; }; diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 828d4867..723ba4cb 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -30,6 +30,21 @@ export const TrackOfflineActivityId = (newId: string) => { let _currentOfflineActivityId = "/testactivity.json"; + +// A write-though cache of the learner plugin states is kept as the plugin's +// learner state is only loaded once at app startup but it is supplied on the +// plugin init which happens on any page change. + +// TODO: change to watch the learner state so that it works across sessions and +// not just on the same page + +const cachedLearnerPluginState: Record = {}; +export const getCachedLearnerPluginState = (pluginId: number) => cachedLearnerPluginState[pluginId] || null; + +export const setCachedLearnerPluginState = (pluginId: number, value: string|null) => cachedLearnerPluginState[pluginId]=value; + +const localStoragePluginStateKey = (id: number) => `ActivityPlayerPluginState-plugin-${id}`; + export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { const getInteractiveState = () => { const reportState = JSON.parse(doc.report_state); @@ -82,11 +97,8 @@ export interface IStorageInterface { watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void): () => void watchAllAnswers: (callback: (wrappedAnswer: IWrappedDBAnswer[]) => void) => void, createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => void, - getLearnerPluginStateDocId: (pluginId: number) => string|undefined, - getCachedLearnerPluginState: (pluginId: number) => string|null, getLearnerPluginState: (pluginId: number) => Promise, setLearnerPluginState: (pluginId: number, state: string) => Promise, - // checkIfOnline: () => Promise, // for saving a whole activity to JSON exportActivityToJSON: (activityId?: string) => Promise, @@ -95,7 +107,6 @@ export interface IStorageInterface { syncData(): void } - class FireStoreStorageProvider implements IStorageInterface { portalData: IPortalData|IAnonymousPortalData; onSaveTimeout(handler: () => void) { @@ -149,20 +160,19 @@ class FireStoreStorageProvider implements IStorageInterface { return FirebaseImp.createOrUpdateAnswer(answer); } - getLearnerPluginStateDocId(pluginId: number){ - return FirebaseImp.getLearnerPluginStateDocId(pluginId); - } - - getCachedLearnerPluginState(pluginId: number) { - return FirebaseImp.getCachedLearnerPluginState(pluginId); - } - - getLearnerPluginState(pluginId: number) { - return FirebaseImp.getLearnerPluginState(pluginId); + async getLearnerPluginState(pluginId: number) { + if (getCachedLearnerPluginState(pluginId)) { + return getCachedLearnerPluginState(pluginId); + } + const state = await FirebaseImp.getLearnerPluginState(pluginId); + setCachedLearnerPluginState(pluginId,state); + return state; } - setLearnerPluginState(pluginId: number, state: string){ - return FirebaseImp.setLearnerPluginState(pluginId,state); + async setLearnerPluginState(pluginId: number, state: string){ + FirebaseImp.setLearnerPluginState(pluginId, state); + setCachedLearnerPluginState(pluginId, state); + return state; } // TODO: Save activity to local JSON file and allow reloading from file @@ -174,13 +184,9 @@ class FireStoreStorageProvider implements IStorageInterface { return true; } - canSyncData() { - // We are FireStore, so our data is synced by default.... - return false; - } - syncData(){ - return null; - } + // We are FireStore, so our data is synced by default.... + canSyncData() { return false; } + syncData(){ return null; } signOut() { FirebaseImp.signOut(); @@ -330,24 +336,22 @@ class DexieStorageProvider implements IStorageInterface { } } - //TODO: APO Plugin State - getLearnerPluginStateDocId(pluginId: number){ - return undefined; - } - - //TODO: APO Plugin State - getCachedLearnerPluginState(pluginId: number){ - return null; - } - - //TODO: APO Plugin State - getLearnerPluginState(pluginId: number){ - return Promise.resolve(null); - } - - //TODO: APO Plugin State - setLearnerPluginState(pluginId: number, state: string){ - return Promise.resolve(""); + async getLearnerPluginState(pluginId: number) { + if (getCachedLearnerPluginState(pluginId)) { + return getCachedLearnerPluginState(pluginId); + } + const record = await this.indexDBConnection.pluginStates.get({pluginId}); + const state = record?.state || null; + setCachedLearnerPluginState(pluginId, state); + return state; + } + + async setLearnerPluginState(pluginId: number, state: string){ + const key = localStoragePluginStateKey(pluginId); + localStorage.setItem(key,state); + this.indexDBConnection.pluginStates.put({pluginId, state}); + setCachedLearnerPluginState(pluginId, state); + return state; } canSyncData() { diff --git a/src/utilities/plugin-utils.ts b/src/utilities/plugin-utils.ts index 5504f545..10256868 100644 --- a/src/utilities/plugin-utils.ts +++ b/src/utilities/plugin-utils.ts @@ -1,6 +1,6 @@ import { ICustomMessage } from "@concord-consortium/lara-interactive-api"; import { Optional } from "utility-types"; -import { getStorage } from "../storage/storage-facade"; +import { getStorage, getCachedLearnerPluginState} from "../storage/storage-facade"; import { LaraGlobalType } from "../lara-plugin"; import { IEmbeddableContextOptions, IPluginRuntimeContextOptions } from "../lara-plugin/plugins/plugin-context"; import { Activity, Embeddable, IEmbeddablePlugin, Plugin } from "../types"; @@ -129,7 +129,7 @@ export const initializePlugin = (context: IEmbeddablePluginContext) => { pluginId, embeddablePluginId: null, authoredState: embeddable.plugin?.author_data || null, - learnerState: storage.getCachedLearnerPluginState(pluginId), + learnerState: getCachedLearnerPluginState(pluginId), learnerStateSaveUrl: "", container: embeddableContainer, componentLabel: pluginLabel, From 11e1280e19187b24f87da691e8cab1cb8c52395f Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 11 Mar 2021 17:33:40 -0500 Subject: [PATCH 059/242] Increment Dexie AnswerSchemaVersion [#177304245] save student plugin state --- src/storage/storage-facade.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 723ba4cb..6de011fe 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -61,7 +61,7 @@ export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { }; // We need to ensure a version match between data stored and exported -export const kOfflineAnswerSchemaVersion = 4; +export const kOfflineAnswerSchemaVersion = 5; const activityExportFileName = (activity: string) => { const d = new Date(); From a619e58b77e4a3908c4225f99ed41a206b9bdaba Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Thu, 11 Mar 2021 22:19:34 -0500 Subject: [PATCH 060/242] removed debugger statement this was breaking the jest build --- src/storage/storage-facade.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 828d4867..23be7bca 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -111,7 +111,6 @@ class FireStoreStorageProvider implements IStorageInterface { this.setPortalData(portalData); try { if(portalData.type === "authenticated") { - debugger; const token = portalData.database.rawFirebaseJWT; await FirebaseImp.initializeDB({ name: portalData.database.appName, @@ -408,5 +407,3 @@ export const initStorage = async (config: IInitStorageParams) => { export const getStorage = () => { return storageInstance; }; - - From 88bfbe51701a8071f747aa7badaa2daea02f45cb Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 10 Mar 2021 23:25:10 -0500 Subject: [PATCH 061/242] Changed offline mode from query parameter to hostname value [#177163781] --- README.md | 12 +++++++----- package.json | 3 +++ src/components/app.tsx | 17 +++++++++++------ src/portal-api.ts | 4 ++-- 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index e41ea4bd..66279196 100644 --- a/README.md +++ b/README.md @@ -130,7 +130,7 @@ Inside of your `package.json` file: ### Offline Manifests -An offline manifest is a JSON file containing both a list of activities and a list of GET urls to cache offline. It is used to enable offline use of the Activity Player. +An offline manifest is a JSON file containing both a list of activities and a list of GET urls to cache offline. It is used to enable offline use of the Activity Player. Offline manifests can only be used, created or edited when the activity player is run in offline mode, which is determined by the window.location.host value. To run in offline mode in development use the `npm run start:offline` script. ### Using an Offline Manifest @@ -138,7 +138,7 @@ Offline manifests are specified using a `offlineManifest=` query parameter that When running locally (after running `npm start`) load the following url: -http://localhost:11000/?offlineManifest=smoke-test +http://localhost:11002/?offlineManifest=smoke-test #### Creating an Offline Manifest @@ -146,7 +146,7 @@ Offline manifests can either be authored by hand or more easily by enabling "aut To enable authoring mode launch the Activity Player with the `setOfflineManifestAuthoringId=` query parameter set to the offline manifest name. As an example when running locally using `npm start` you would use the following url: -http://localhost:11000/?setOfflineManifestAuthoringId=example +http://localhost:11002/?setOfflineManifestAuthoringId=example to turn on authoring mode and to set the offline manifest name to `example`. This setting is stored in localstorage so it persists across page loads so you **do not** need to keep the parameter in the query string to keep authoring mode enabled. @@ -158,7 +158,7 @@ Once you have loaded all the activities you want to add to the offline manifest If you have a offline manifest saved in the offline-manifests folder named `example` you would load the following URL(after running `npm start`): -http://localhost:11000/?setOfflineManifestAuthoringId=example&offlineManifest=example +http://localhost:11002/?setOfflineManifestAuthoringId=example&offlineManifest=example At this point you can either add new activities by manually adding an `activity=` url parameter or update the current cache list by launching an existing activity from the offline activity list. Once you have completed the edits you can download the json and replace the file in the `src/public/offline-manifests` folder. @@ -184,7 +184,9 @@ The Activity Player json loader code rewrites any urls it finds that fit the fol ### Offline Mode -The application can be placed in "offline" mode by specifying a `offline=true` query parameter. This currently causes a header nav to display. In the future this flag will also control how student data is saved and sent to the portal. +The application can be placed in "offline" mode by running it from an offline host. The production offline host is https://activity-player-offline.concord.org/ and the development host is https://localhost:11002. To run in offline mode in development use the `npm run start:offline` script. + +Offline mode currently causes a header nav to display. In the future this flag will also control how student data is saved and sent to the portal. The installed PWA will use `/?offline=true` as its start_url in the `manifest.json` file. This will cause all desktop launches to run in offline mode. In order to use the PWA version an offline manifest must first be installed using the following combinations of query parameters: `?offline=true&offlineManifest=`. An optional parameter of `confirmOfflineManifestInstall=true` can also be used to not auto close the loading dialog and instead show a message that everything is installed once all the assets are downloaded into the cache. diff --git a/package.json b/package.json index eaad1911..b7f96946 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,9 @@ "start": "webpack-dev-server --inline --hot --content-base dist/ --port=11000", "start:secure": "webpack-dev-server --https --inline --hot --content-base dist/ --cert ~/.localhost-ssl/localhost.pem --key ~/.localhost-ssl/localhost.key --port=11000", "start:secure:no-certs": "webpack-dev-server --https --inline --hot --content-base dist/ --port=11000", + "start:offline": "webpack-dev-server --inline --hot --content-base dist/ --port=11002", + "start:secure:offline": "webpack-dev-server --https --inline --hot --content-base dist/ --cert ~/.localhost-ssl/localhost.pem --key ~/.localhost-ssl/localhost.key --port=11002", + "start:secure:no-certs:offline": "webpack-dev-server --https --inline --hot --content-base dist/ --port=11002", "build": "npm-run-all lint:build clean build:webpack", "build:webpack": "webpack --mode production --devtool false", "build:dev": "webpack", diff --git a/src/components/app.tsx b/src/components/app.tsx index 2b82a723..63983c0d 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -39,6 +39,7 @@ import { OfflineManifestAuthoringNav } from "./offline-manifest-authoring-nav"; import { StudentInfo } from "../student-info"; import { StudentInfoModal } from "./student-info-modal"; import { isNetworkConnected, monitorNetworkConnection } from "../utilities/network-connection"; +import { isOfflineHost } from "../utilities/host-utils"; import "./app.scss"; @@ -99,12 +100,16 @@ export class App extends React.PureComponent { public constructor(props: IProps) { super(props); this.studentInfo = new StudentInfo(); - // set the offline manifest authoring localstorage item if it exists in the params and then read from localstorage - // this is done in the constructor as the state value is needed in the UNSAFE_componentWillMount method - setOfflineManifestAuthoringId(queryValue("setOfflineManifestAuthoringId")); - const offlineManifestAuthoringId = getOfflineManifestAuthoringId(); - const offlineManifestId = queryValue("offlineManifest"); + const offlineMode = isOfflineHost(window.location.host); // NOTE: need host here so we can check the port also + + if (offlineMode) { + // set the offline manifest authoring localstorage item if it exists in the params and then read from localstorage + // this is done in the constructor as the state value is needed in the UNSAFE_componentWillMount method + setOfflineManifestAuthoringId(queryValue("setOfflineManifestAuthoringId")); + } + const offlineManifestAuthoringId = offlineMode ? getOfflineManifestAuthoringId() : undefined; + const offlineManifestId = offlineMode ? queryValue("offlineManifest") : undefined; const loadingOfflineManifest = !!offlineManifestId; this.state = { @@ -120,7 +125,7 @@ export class App extends React.PureComponent { errorType: null, idle: false, loadingOfflineManifest, - offlineMode: (queryValue("offline") === "true") || !!offlineManifestAuthoringId || !!offlineManifestId, + offlineMode, offlineManifestAuthoringActivities: [], offlineManifestAuthoringCacheList: [], showOfflineManifestInstallConfirmation: queryValue("confirmOfflineManifestInstall") === "true", diff --git a/src/portal-api.ts b/src/portal-api.ts index 9b8aff49..badb2ad2 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -428,7 +428,7 @@ export const fetchPortalData = async (opts: IFetchPortalDataOpts = fetchPortalDa // for the tool id we want to distinguish activity-player branches, incase this is ever helpful for // dealing with mis-matched data when we load data in originally saved on another branch. // This is currently unused for the purpose of saving and loading data - const toolId = window.location.hostname + window.location.pathname; + const toolId = getCanonicalHostname() + window.location.pathname; const fullName = classInfo.students.find(s => s.id.toString() === portalJWT.uid.toString())?.fullName; const rawPortalData: IPortalData = { @@ -473,7 +473,7 @@ export const anonymousPortalData = (preview: boolean) => { } } - const hostname = window.location.hostname; + const hostname = getCanonicalHostname(); const toolId = hostname + window.location.pathname; const rawPortalData: IAnonymousPortalData = { type: "anonymous", From 570c3e8085c25b85883223101a8487eb71bda92c Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Thu, 11 Mar 2021 00:07:39 -0500 Subject: [PATCH 062/242] Disabled offline-manifest test for now --- cypress/integration/offline-manifest.test.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cypress/integration/offline-manifest.test.ts b/cypress/integration/offline-manifest.test.ts index 606f70c2..f7c7b0aa 100644 --- a/cypress/integration/offline-manifest.test.ts +++ b/cypress/integration/offline-manifest.test.ts @@ -1,3 +1,7 @@ +/* + +DISABLED FOR NOW: NEED TO FIGURE OUT SEPARATE OFFLINE CYPRESS RUN + import ActivityPage from "../support/elements/activity-page"; const activityPage = new ActivityPage; @@ -56,3 +60,5 @@ context("Test using offline manifests", () => { }); }); }); + +*/ \ No newline at end of file From d19592f0a59f5b7a60f823ba047c47fcb2dfb9fe Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Fri, 12 Mar 2021 05:47:00 -0500 Subject: [PATCH 063/242] Added helper to call out use of ports with hostnames and DRYed up toolId generation --- src/components/app.tsx | 4 ++-- src/portal-api.test.ts | 22 +++++++++++++++++++++- src/portal-api.ts | 17 ++++++++--------- src/utilities/host-utils.test.ts | 19 ++++++++++++++++++- src/utilities/host-utils.ts | 2 ++ 5 files changed, 51 insertions(+), 13 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 63983c0d..75e9fce5 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -39,7 +39,7 @@ import { OfflineManifestAuthoringNav } from "./offline-manifest-authoring-nav"; import { StudentInfo } from "../student-info"; import { StudentInfoModal } from "./student-info-modal"; import { isNetworkConnected, monitorNetworkConnection } from "../utilities/network-connection"; -import { isOfflineHost } from "../utilities/host-utils"; +import { getHostnameWithMaybePort, isOfflineHost } from "../utilities/host-utils"; import "./app.scss"; @@ -101,7 +101,7 @@ export class App extends React.PureComponent { super(props); this.studentInfo = new StudentInfo(); - const offlineMode = isOfflineHost(window.location.host); // NOTE: need host here so we can check the port also + const offlineMode = isOfflineHost(getHostnameWithMaybePort()); if (offlineMode) { // set the offline manifest authoring localstorage item if it exists in the params and then read from localstorage diff --git a/src/portal-api.test.ts b/src/portal-api.test.ts index e5521bdb..20885434 100644 --- a/src/portal-api.test.ts +++ b/src/portal-api.test.ts @@ -1,4 +1,4 @@ -import { firebaseAppName, clearFirebaseAppName } from "./portal-api"; +import { firebaseAppName, clearFirebaseAppName, getToolId } from "./portal-api"; describe("firebaseAppName", () => { @@ -49,3 +49,23 @@ describe("firebaseAppName", () => { }); }); + +describe("getToolId", () => { + const { location } = window; + it("returns an id which is a combination of the host and path", () => { + delete (window as any).location; + + const mockLocation = {host: "", pathname: ""}; + (window as any).location = mockLocation; + + mockLocation.host = "www.example.com"; + mockLocation.pathname = "/foo"; + expect(getToolId()).toBe("www.example.com/foo"); + + mockLocation.host = "www.example.com:8080"; + mockLocation.pathname = "/bar"; + expect(getToolId()).toBe("www.example.com:8080/bar"); + + (window as any).location = location; + }); +}); \ No newline at end of file diff --git a/src/portal-api.ts b/src/portal-api.ts index badb2ad2..c27aadf9 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -4,7 +4,7 @@ import { v4 as uuidv4 } from "uuid"; import { queryValue, setQueryValue } from "./utilities/url-query"; import { FirebaseAppName } from "./firebase-db"; import { getResourceUrl } from "./lara-api"; -import { getCanonicalHostname, isProductionOrigin } from "./utilities/host-utils"; +import { getCanonicalHostname, getHostnameWithMaybePort, isProductionOrigin } from "./utilities/host-utils"; interface PortalClassOffering { className: string; @@ -425,10 +425,6 @@ export const fetchPortalData = async (opts: IFetchPortalDataOpts = fetchPortalDa // query parameter. const sourceKey = queryValue("report-source") || parseUrl(offeringData.activityUrl.toLowerCase()).hostname; - // for the tool id we want to distinguish activity-player branches, incase this is ever helpful for - // dealing with mis-matched data when we load data in originally saved on another branch. - // This is currently unused for the purpose of saving and loading data - const toolId = getCanonicalHostname() + window.location.pathname; const fullName = classInfo.students.find(s => s.id.toString() === portalJWT.uid.toString())?.fullName; const rawPortalData: IPortalData = { @@ -439,7 +435,7 @@ export const fetchPortalData = async (opts: IFetchPortalDataOpts = fetchPortalDa platformId: firebaseJWT.claims.platform_id, platformUserId: firebaseJWT.claims.platform_user_id.toString(), contextId: classInfo.classHash, - toolId, + toolId: getToolId(), resourceUrl: getResourceUrl(), fullName, learnerKey: firebaseJWT.claims.user_type === "learner" @@ -473,14 +469,12 @@ export const anonymousPortalData = (preview: boolean) => { } } - const hostname = getCanonicalHostname(); - const toolId = hostname + window.location.pathname; const rawPortalData: IAnonymousPortalData = { type: "anonymous", userType: "learner", runKey, resourceUrl: getResourceUrl(), - toolId, + toolId: getToolId(), toolUserId: "anonymous", database: { appName: firebaseAppName(), @@ -489,3 +483,8 @@ export const anonymousPortalData = (preview: boolean) => { }; return rawPortalData; }; + +// for the tool id we want to distinguish activity-player hosts and branches, incase this is ever helpful for +// dealing with mis-matched data when we load data in originally saved on another branch. +// This is currently unused for the purpose of saving and loading data +export const getToolId = () => getHostnameWithMaybePort() + window.location.pathname; diff --git a/src/utilities/host-utils.test.ts b/src/utilities/host-utils.test.ts index 99e4d4e0..73215829 100644 --- a/src/utilities/host-utils.test.ts +++ b/src/utilities/host-utils.test.ts @@ -1,4 +1,4 @@ -import { getCanonicalHostname, isOfflineHost, isProductionOrigin } from "./host-utils"; +import { getCanonicalHostname, getHostnameWithMaybePort, isOfflineHost, isProductionOrigin } from "./host-utils"; describe("isOfflineHost", () => { it("determines offline mode via the window host value", () => { @@ -26,6 +26,23 @@ describe("getCananoicalHostname", () => { mockLocation.hostname = "activity-player.concord.org"; expect(getCanonicalHostname()).toBe("activity-player.concord.org"); + (window as any).location = location; + }); +}); + +describe("getHostnameWithMaybePort", () => { + const { location } = window; + it("returns the hostname with port if not a standard port", () => { + delete (window as any).location; + + const mockLocation = {host: ""}; + (window as any).location = mockLocation; + + mockLocation.host = "www.example.com"; + expect(getHostnameWithMaybePort()).toBe("www.example.com"); + + mockLocation.host = "www.example.com:8080"; + expect(getHostnameWithMaybePort()).toBe("www.example.com:8080"); (window as any).location = location; }); diff --git a/src/utilities/host-utils.ts b/src/utilities/host-utils.ts index 4fd8be9a..e6808563 100644 --- a/src/utilities/host-utils.ts +++ b/src/utilities/host-utils.ts @@ -7,6 +7,8 @@ export const getCanonicalHostname = () => { return window.location.hostname; }; +export const getHostnameWithMaybePort = () => window.location.host; + export const isProductionOrigin = (origin: string) => { return origin === "https://activity-player.concord.org" || origin === "https://activity-player-offline.concord.org"; }; From 9e989a5451510c6c5226e2325099b34a4472a1e1 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Fri, 12 Mar 2021 05:54:31 -0500 Subject: [PATCH 064/242] Moved network monitor to component mounting phase --- src/components/app.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 2b82a723..39b25b04 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -94,7 +94,7 @@ export class App extends React.PureComponent { private LARA: LaraGlobalType; private activityPageContentRef = React.createRef(); private studentInfo: StudentInfo; - private unmonitorNetworkConnection: () => void; + private unmonitorNetworkConnection?: () => void; public constructor(props: IProps) { super(props); @@ -129,8 +129,6 @@ export class App extends React.PureComponent { showEditUserName: false, networkConnected: isNetworkConnected() }; - - this.unmonitorNetworkConnection = monitorNetworkConnection((networkConnected) => this.setState({networkConnected})); } public get portalUrl() { @@ -145,6 +143,9 @@ export class App extends React.PureComponent { } async UNSAFE_componentWillMount() { + // start monitoring the network connection + this.unmonitorNetworkConnection = monitorNetworkConnection((networkConnected) => this.setState({networkConnected})); + // only enable the service worker in offline mode (or in authoring mode which automatically turns on offline mode) const enableServiceWorker = this.state.offlineMode; @@ -311,7 +312,9 @@ export class App extends React.PureComponent { } componentWillUnmount() { - this.unmonitorNetworkConnection(); + if (this.unmonitorNetworkConnection) { + this.unmonitorNetworkConnection(); + } } render() { From 199855d40932914e36ce45c46785e0b826faa579 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Fri, 12 Mar 2021 14:43:04 -0500 Subject: [PATCH 065/242] Moved activity.json files into repo and added version numbers to filenames This will let us version both the manifest and activity files and reduce the chance of manifest breaking if a plugin or library interactive is updated --- README.md | 2 +- cypress/integration/offline-manifest.test.ts | 2 +- src/components/app.tsx | 5 +- src/lara-api.ts | 42 +- .../precipitatingchange-test-v1.json | 1280 ++++++++++++++ .../offline-activities/smoke-test-v1.json | 1495 +++++++++++++++++ ....json => precipitatingchange-test-v1.json} | 27 +- .../offline-manifests/smoke-test-v1.json | 75 + src/public/offline-manifests/smoke-test.json | 77 - src/utilities/activity-utils.test.ts | 8 +- src/utilities/activity-utils.ts | 2 + 11 files changed, 2897 insertions(+), 118 deletions(-) create mode 100644 src/public/offline-activities/precipitatingchange-test-v1.json create mode 100644 src/public/offline-activities/smoke-test-v1.json rename src/public/offline-manifests/{precipitatingchange.json => precipitatingchange-test-v1.json} (64%) create mode 100644 src/public/offline-manifests/smoke-test-v1.json delete mode 100644 src/public/offline-manifests/smoke-test.json diff --git a/README.md b/README.md index 66279196..de6d78f9 100644 --- a/README.md +++ b/README.md @@ -138,7 +138,7 @@ Offline manifests are specified using a `offlineManifest=` query parameter that When running locally (after running `npm start`) load the following url: -http://localhost:11002/?offlineManifest=smoke-test +http://localhost:11002/?offlineManifest=smoke-test-v1 #### Creating an Offline Manifest diff --git a/cypress/integration/offline-manifest.test.ts b/cypress/integration/offline-manifest.test.ts index f7c7b0aa..30160ed2 100644 --- a/cypress/integration/offline-manifest.test.ts +++ b/cypress/integration/offline-manifest.test.ts @@ -40,7 +40,7 @@ context("Test using offline manifests", () => { describe("offlineManifest",() => { it("verify offline manifest is loaded when query parameter is given",() => { - cy.visit("?offlineManifest=smoke-test"); + cy.visit("?offlineManifest=smoke-test-v1"); // verify loading dialog shows and then auto closes activityPage.getOfflineManifestLoadingDialog().should("be.visible").and("contain", "APO Smoke Test"); diff --git a/src/components/app.tsx b/src/components/app.tsx index 571d4765..41d331e7 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -6,7 +6,7 @@ import { SequenceNav } from "./activity-header/sequence-nav"; import { ActivityPageContent } from "./activity-page/activity-page-content"; import { IntroductionPageContent } from "./activity-introduction/introduction-page-content"; import { Footer } from "./activity-introduction/footer"; -import { ActivityLayouts, PageLayouts, numQuestionsOnPreviousPages, enableReportButton, setDocumentTitle, getPagePositionFromQueryValue, getAllUrlsInActivity } from "../utilities/activity-utils"; +import { ActivityLayouts, PageLayouts, numQuestionsOnPreviousPages, enableReportButton, setDocumentTitle, getPagePositionFromQueryValue, getAllUrlsInActivity, isNotSampleActivityUrl } from "../utilities/activity-utils"; import { getActivityDefinition, getResourceUrl, getSequenceDefinition } from "../lara-api"; import { ThemeButtons } from "./theme-buttons"; import { SinglePageContent } from "./single-page/single-page-content"; @@ -642,8 +642,7 @@ export class App extends React.PureComponent { } private addActivityToOfflineManifest = (offlineManifestAuthoringId: string, activity: Activity, url: string) => { - const isExternalUrl = /https?:\/\//.test(url); // test for internal demo files - if (offlineManifestAuthoringId && isExternalUrl) { + if (offlineManifestAuthoringId && isNotSampleActivityUrl(url)) { this.setState(prevState => { let {offlineManifestAuthoringActivities} = prevState; const {offlineManifestAuthoringCacheList} = prevState; diff --git a/src/lara-api.ts b/src/lara-api.ts index c1f36832..561df2b9 100644 --- a/src/lara-api.ts +++ b/src/lara-api.ts @@ -1,6 +1,6 @@ import { sampleActivities, sampleSequences } from "./data"; import { Activity, Sequence } from "./types"; -import { rewriteModelsResourcesUrls } from "./utilities/activity-utils"; +import { isNotSampleActivityUrl, rewriteModelsResourcesUrls } from "./utilities/activity-utils"; import { queryValue } from "./utilities/url-query"; export const getResourceUrl = (url?: string) => { @@ -10,35 +10,31 @@ export const getResourceUrl = (url?: string) => { export const getActivityDefinition = (activity: string): Promise => { return new Promise((resolve, reject) => { - const urlRegex = /^(https:|http:)\/\/\S+/; - if (activity.match(urlRegex)) { - getActivityDefinitionFromLara(activity).then(resolve); + if (isNotSampleActivityUrl(activity)) { + fetchActivityDefinition(activity).then(resolve); + } else if (sampleActivities[activity]) { + setTimeout(() => resolve(rewriteModelsResourcesUrls(sampleActivities[activity])), 250); } else { - if (sampleActivities[activity]) { - setTimeout(() => resolve(rewriteModelsResourcesUrls(sampleActivities[activity])), 250); - } else { - reject(`No sample activity matches ${activity}`); - } + reject(`No sample activity matches ${activity}`); } }); }; -const getActivityDefinitionFromLara = (activityUrl: string): Promise => { +const fetchActivityDefinition = (activityUrl: string): Promise => { return new Promise((resolve, reject) => { - fetch(activityUrl) - .then(response => { - if (response.status !== 200) { - reject(`Errored fetching ${activityUrl}. Status Code: ${response.status}`); - return; - } - - response.json().then(function(data) { - resolve(rewriteModelsResourcesUrls(data)); + return fetch(activityUrl) + .then(response => { + if (response.status !== 200) { + reject(`Errored fetching ${activityUrl}. Status Code: ${response.status}`); + return; + } + response.json() + .then((data) => resolve(rewriteModelsResourcesUrls(data))) + .catch(reject); + }) + .catch(function(err) { + reject(`Errored fetching ${activityUrl}. ${err}`); }); - }) - .catch(function(err) { - reject(`Errored fetching ${activityUrl}. ${err}`); - }); }); }; diff --git a/src/public/offline-activities/precipitatingchange-test-v1.json b/src/public/offline-activities/precipitatingchange-test-v1.json new file mode 100644 index 00000000..3b07b476 --- /dev/null +++ b/src/public/offline-activities/precipitatingchange-test-v1.json @@ -0,0 +1,1280 @@ +{ + "description": "

    Identifying Air Masses: Where does the air come from?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Precipitating Change (TEST)", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "time_to_complete": 90, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308514, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the weather - wind! The direction of the wind can give you clues about what weather to expect. And when the wind changes its direction drastically, interesting weather events can happen.

    \n


    In this lesson you will explore how air masses interact by setting up a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more weather stations. In your Science Notebook, go to Lesson 5 to locate the following information: 
            0 Map with Additional Weather Stations and Data Tables 
            0 Alaskan Stations 7 pm Readings
            0 Alaskan Stations 7 pm Interpolated Map
            0 Alaskan Stations 7 am Interpolated Map
           

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272802-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 5: IDENTIFYING AIR MASSES\\n\\n**WHERE DOES THE AIR COME FROM?**\\n\\nIn this lesson, students investigate the role that wind plays in determining the weather and are introduced to ways to identify and define an air mass. Air masses have a similar range of weather variables (temperature and moisture), have indistinct boundaries, and are categorized by the range of weather variables within them. The air within an air mass is constantly moving and precipitation can occur where air from different air masses mixes/interacts. Scientists use models to predict where precipitation will occur based on where different air masses interact, the type of air in each, and the movement of that air.\\n\\nTo begin to identify air masses, students will do a hands-on wind table activity, and get new temperature, air moisture content, and wind direction data for five additional weather stations. As in Lesson 4, the students once again construct a set of rules through a series of activities that allow them to uncover patterns in the data, investigate the mechanisms for these patterns, and abstract a rule that describes the relationship between wind direction, its associated air mass, and the resulting precipitation. \\n\\n###LEARNING GOALS\\nStudents will be able to:\\n\\n* Identify and define an air mass\\n\\n* Explain that air masses are defined by where they come from\\n\\n* Explain the role of wind in weather events\\n\\n* Identify where on a map two different masses are interacting/mixing\\n\\n* Develop a rule for how wind moves and test the rule with multiple kinds of air masses\\n\\n* Develop a rule to express the relationship between weather components (temperature and moisture) and air masses\\n\\nComputational Thinking (CT) skills introduced in this lessons can be found in the table below:\\n\\n| CT Skill | Definition |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed |\\n| Rule Testing | Investigating whether a rule will still be true in different situations |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model |\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4041-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (90 mins)\\n\\n**Key Activities:**\\n\\nLesson 5: Alaska Mainland - Identifying Air Masses\\n\\n* Activity 1- What is an Air Mass (45 mins)\\n\\n* Activity 2 - What happens when air masses collide (10 mins)\\n\\n* Activity 3 - How do air masses affect precipitation? (25 mins)\\n\\n* Post-Assessment - What Are the Rules for Fronts and Precipitation? (10 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - What is an Air Mass?\\n\\nPer Research Team:\\n\\n* Direct students to Lesson 5 in their Science Notebooks to find the following information:\\n * Lesson 5, Activity 1: Wind Table Instructions and Questions\\n * Lesson 5, Activity 2: Additional Weather Station Data\\n * Lesson 5, Activity 2: Weather Stations 7 pm Readings\\n * Lesson 5, Activity 2: Weather Stations 7 pm Interpolated\\n * Lesson 5, Activity 2: 7 pm Weather Station Data and 7 pm Radar Map\\n * Lesson 5, Activity 2: 7 am Weather Station Data \\n\\nPer Class:\\n\\n* Set up on one demonstration table that students can gather around: a wind fan, a piece of paper with a wind rose taped to the table, and a single weather vane. See below for a top-down view. \\n\\n\\n\\n* To print the wind rose, click [here](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg) to download. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4042-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 5.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4043-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308515, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": " Activity 1 - What is an air mass?", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Measuring Wind with the Compass 

    \n

    One way wind direction can be measured is with a weather vane or air socks. When the wind blows, the weather vane rotates and lines up with the path the air is flowing. So, wind direction is determined by what direction the wind is blowing and measured in degrees (°).

    \n

    \"\"

    \n

    In this activity, you will use a Wind Table to map the movement of air on a grid representing a region in Alaska. Go to your Science Notebooks, Lesson 5, page 21, for further instructions and to record your observations.

    \n

    Wind Table

    \n

    \n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272803-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"\\n###Activity 1 - **What is an Air Mass?**\\nIn this activity students explore the patterns of air movement within and between air masses. Using a hands-on “wind table,” they engage in a tangible interaction with wind. By leveraging patterns from the previous activity dataset and the wind table, they will discover that when two air masses meet, the air converges. Weather scientists refer to these regions as fronts. \\n\\n###Wind Table Directions\\n * **1.Introduce the Wind Table.** Wind is one of the first things that atmospheric scientists look at when investigating the weather, but it can be difficult to understand by just looking at data and maps. A hands-on model is helpful to investigate a phenomenon like the wind.\\n\\n\\n * **2.Assign teams:** Assign research teams a Wind Table position number, either #1 or #2. \\n * **3.Wind tunnel position:** Have students place wind tunnel #1 and wind tunnel #2 according to the diagram in their Science Notebook for their assigned Team #.\\n * **4.Reminders:** Read over the things to keep in mind on page 21 in the Science Notebook, together as a class:\\n * **BE CAREFUL NOT TO PUT YOUR FINGERS NEAR THE FAN**\\n * Graph paper represents a region.\\n * A wind vane can be placed anywhere on the graph paper to determine what direction the wind is coming from.\\n * Record the wind direction by drawing an arrow in the direction the wind vane is pointing. (Recall that wind is always recorded showing the direction the wind is coming from.) If there is not a clear determination where the wind is coming from, then leave the square blank.\\n * Place a Styrofoam ball on the wind table to see the interaction between the two air masses.\\n * **5.Analyze air mass interactions** \\n\\n * Once all of the groups have finished mapping the wind direction, ask the students to determine the boundary of the two air masses by drawing a circle around the different air masses. \\n\\n * Ask the students if there was anywhere on the grid that they either had trouble deciding what direction to draw their arrow. Some students might remark that the wind vane wobbles or spins in the region between the two distinct air masses. Instruct the students to identify the diagonal region between the two air masses and circle this area with a green marker. \\n\\n* **6.Connecting the Wind Table to the interpolated map.** Ask students to compare Alaska Weather Stations: 7 pm Interpolated data with the wind map they created on their Wind Table. Lead a class conversation. See possible Discussion Points below. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4044-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Mass Properties \\n\\nTo a weather scientist, an air mass is a body of air with similar temperature and air moisture content. (Note that scientists also include pressure, but pressure is not covered in this unit.)\\n\\n###Wind Table Demonstration \\nThe compass rose describes the direction the wind is blowing in degrees. Wind coming directly from the South has a direction of 180°, from the East 90°, from the North 360°, etc. Place the fan to the “North” of the weather vane and turn it on. Move the weather vane so that it's at the center of the rose and have students read the wind direction from the rose. Then, move the fan to other locations. Ask students where you should move the fan to get a wind direction of, for example, 180°, 90°, 45°, etc. Move the fan to check their predictions. \\n\\n**Teacher Note:** Wind direction is determined by what direction the wind is coming from. This is a consequence of how it is measured. A weather scientist says, “winds coming from the northeast” not “winds heading southwest.” This distinction becomes very important when trying to map the flow of air over a region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4045-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308516, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 1 - What is an air mass? (continued)", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    IDENTIFYING AIR MASSES

    \n

    In Lesson 5 of your Science Notebook on pages 21-23, you have additional data weather station data and maps that show you the direction of the wind. On page 22, you will find a map that shows you the 7 pm reading from the additional weather stations. The arrows on the map represent the wind direction. The data on page 23 of your Science Notebook, \"Weather Stations 7 pm Interpolated\" comes from an interpolation of wind direction across the mainland of Alaska at 7 pm. See map below. Using the map on page 23, draw a line that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. It is your job to determine where you see that change in the wind direction.

    \n

    Strategy for Identifying Two Air Masses:

    \n

    1. Make Sense of the Map: 
           • Look at each row and see if the arrows change direction as you move across the row. 
           • Look at each column and see if the arrows change direction as you move down the column. 
    2. Identify where you are going to place your line. 
    3. Draw your line on your paper map.

    \n

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272804-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"

    Why did you draw the line there?

    \",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "da655ced823a0246a5f8c5c46c90345f28f53efe", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1773-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308517, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 1 - What is an air mass? (continued)", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The line that you drew across your map represents a boundary between two air masses. An air mass is a body of air with similar temperature and air moisture content. Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an air moisture content number at the bottom of the square.

    \n

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272805-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Develop a way to define the two air masses using the temperature and air moisture content values provided on the Alaskan Stations: Interpolated at 7 pm Map.

    \r\n

    \r\n

    Defined Air Masses for the Alaska Mainland at 7 pm

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "DEFINING AIR MASSES", + "type": "Embeddable::Xhtml", + "ref_id": "272806-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"colder\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"warmer\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"

    Air Mass #1 Properties

    \\r\\n

    Temperature: Compare Air Mass #1 to Air Mass #2.

    \\r\\n

    Air Mass #1 is:

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "af5d1860b2d4a037ae01e3d86931a30886fcb42d", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "A basic multiple choice interactive. This is pointing to the master branch and is in development so it shouldn't be used by real activities. \r\n", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1774-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"more moist\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"more dry\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"

    \\r\\n

    Air moisture: Compare Air Mass #1 to Air Mass #2.

    \\r\\n

    Air Mass #1 is:

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "af5d1860b2d4a037ae01e3d86931a30886fcb42d", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "A basic multiple choice interactive. This is pointing to the master branch and is in development so it shouldn't be used by real activities. \r\n", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1775-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"colder\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"warmer\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"

    Air Mass #2 Properties

    \\r\\n

    Temperature: Compare Air Mass #2 to Air Mass #1.

    \\r\\n

    Air Mass #2 over land is:

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "af5d1860b2d4a037ae01e3d86931a30886fcb42d", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "A basic multiple choice interactive. This is pointing to the master branch and is in development so it shouldn't be used by real activities. \r\n", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1776-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"more moist\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"more dry\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"

    \\\"\\\"

    \\r\\n

    Air moisture: Compare Air Mass #2 to Air Mass #1.

    \\r\\n

    Air Mass #2 is:

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "af5d1860b2d4a037ae01e3d86931a30886fcb42d", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "A basic multiple choice interactive. This is pointing to the master branch and is in development so it shouldn't be used by real activities. \r\n", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1777-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308518, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 2 - What happens when two air masses collide?", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Fronts

    \n

    The region between two different air masses is called a front. Weather scientists are very interested in fronts because they are where the weather can change. Sometimes this change is very sudden.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272807-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Go to page 24 in your Science Notebook and compare the 7 pm interpolated map and the 7 pm radar map.

    \r\n

    \"\"

    \r\n

    Discuss with your research team and write a general statement that answers the question, “How do air masses affect where it rains?\"  

    \r\n

     

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "272808-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"

    How do air masses affect where it rains?

    \",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"

    • Where is the front? Where is it raining? How do they compare?
    • How does the location of the precipitation on the radar map compare to the warm air mass, the cold air mass, and the front?
    • What is the air like where it is raining?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "da655ced823a0246a5f8c5c46c90345f28f53efe", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1778-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    Go to page 25 in your Science Notebook and work with you research team to make a prediction for where you think it could rain at 7 am by drawing on the 7 am weather station map in your notebook.

    \r\n

    \r\n

    Alaska Stations: Interpolated at 7 am

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "272809-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"

    Explain why you think it could rain in the area you selected.

    \",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "da655ced823a0246a5f8c5c46c90345f28f53efe", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1779-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Masses\\n\\nPossible discussion questions:\\n\\n* How do we identify air masses? (Responses should center on temperature, moisture and wind direction.)\\n\\n* What have you learned about the wind?\\n\\n* What questions do you still have?\\n\\n* Why do you think the wind is important in understanding the weather?\\n\\n• Are there any connections between the location of the air masses, fronts and precipitation? \\n\\n• Why do you think it is raining in some places and not others?\\n\\n**Teacher note:** Because air is invisible, students tend to have a lot of misconceptions about it. For example, the idea that air is a substance that can move is central to this lesson. It is easy to assume that students understand this concept when they may not. Asking probing questions can help bring their preconceptions to the forefront. The wind table will help students by giving them a concrete experience.\\n\\n###Describing the Front\\n\\n**Teacher note:** Student responses should be in terms of the actual movement of air and not just wind directions. The front is a particularly important area as students should identify it as a place where warm and cold air from the two air masses is coming together or mixing. Students will need a solid understanding of this concept as it will be revisited in the next lesson when they look at how fronts move over a region. \\n\\n###What is Happening at the Front\\n\\n**Teacher Note:** Students will likely notice that there is precipitation outside the area of the front and there are areas along the front that don’t show precipitation. Make note of these discrepancies and remind them that, as we have seen before, we may not have all of the information to explain everything that we see. Some of their observations will be addressed in Lesson 5.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4046-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308519, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 2 - What happens when two air masses collide? (continued)", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    You have made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am. The radar image shows where it was actually raining at 7 am.

    \n

    \n

    Radar Image for 7 am

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272810-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"

    How accurate was your prediction?

    \",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "da655ced823a0246a5f8c5c46c90345f28f53efe", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1780-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"

    Look back at your original rule for the question, “How do air masses affect where it rains?” Using what you learned with the 7 am data, revise your rule.

    \",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "da655ced823a0246a5f8c5c46c90345f28f53efe", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1781-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308520, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 3 - How do air masses affect precipitation?", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    When you feel the wind blow on your face, you are feeling air from another place. Sometimes it feels cold; sometimes it feels warm. The wind is what moves air. Weather scientists use wind direction to distinguish multiple air masses. What happens at the boundary of those two air masses? You will explore that question using a new Virtual Model.  

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272811-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    This model shows wind as moving arrowheads and precipitation as green circles. There are two air masses. Identify where the front is. 

    \r\n

    Then, by trying different settings of the temperature and moisture, see if you can make up a rule for what conditions produce precipitation along the front, and on which side of the front the precipitation will occur. 

    \r\n

    Start by pressing Setup and Run. As you change temperatures and moisture settings you may want to press Setup occasionally to start fresh. Be sure to discuss what you find with your research team.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "272812-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"

    Describe the position of the front, and explain how you know this.

    \\r\\n

    You may use city names as landmarks.

    \",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "da655ced823a0246a5f8c5c46c90345f28f53efe", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1782-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"

    What are the conditions in the model that result in precipitation happening along a front?

    \",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"

    • Look at the temperature values for Air Mass 1 and Air Mass 2
    • Look at the moisture values for Air Mass 1 and Air Mass 2

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "da655ced823a0246a5f8c5c46c90345f28f53efe", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1783-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"

    Describe specifically where the precipitation happens within the front.

    \",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"

    • Is the precipitation happening more on the colder side of the front?
    • Is the precipitation happening more on the warmer side of the front?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "da655ced823a0246a5f8c5c46c90345f28f53efe", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1784-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"

    Finalize your rule statement for “How do air masses affect where it rains?”

    \",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"

    Make sure to use precise language and include both temperature and moisture values.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "da655ced823a0246a5f8c5c46c90345f28f53efe", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1785-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 3 - How Do Air Masses Affect Precipitation? Virtual Model\\n\\n**Objective:** To build students’ rule refinement skills by experimenting with a model to figure out its built-in weather rules. In this model, precipitation falls under a variety of conditions that can be set by changing temperatures and moisture for two air masses. \\n\\nStudents can vary the temperature and moisture of two air masses in order to better understand how interacting air masses create patterns of rain at a front. Through this process, students will come up with an even more robust rule for predicting rain that involves interacting air masses. The specific computational thinking practice highlighted and practiced in this activity is **Rule Refinement**.\\n\\n**1. Class discussion about air mass properties.**Use the Alaska Weather Stations: 7am Interpolated map! [](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg) to remind students of the properties of the air masses in their regional weather system. See Discussion Points below for possible prompts. \\n\\n**2. Set up the model challenge.** \\n\\n* Have students recall the rule they developed to answer the question “How do air masses affect where it rains?” \\n\\n* Students will use the Lesson 5 virtual model to help refine their rule.\\n\\n**3. Exploring the Virtual Model.** \\n\\nIntroduce the task, and give students time to explore the model. Then let them tell you what they discovered. They may notice:\\n\\n * The properties of the incoming air can be changed using the sliders on the left and bottom.\\n\\n * The direction of the wind can be seen with arrows and trails that can be turned on or off.\\n\\n * Precipitation appears as green circles with bigger circles meaning heavier rain.\\n\\n * Color of arrows correspond to temperature (Red = Warm, Blue = Cold, Purple = In Between)\\n\\n * Size of arrows correspond to air moisture (Small = dry, Large = moist or humid)\\n\\nYou may want to point out that\\n\\n * Even though the air in the model moves, the model shows airflow for a certain time. Time does not change.\\n\\n**4. Experiment with the Model to find the Rule**\\n\\nTell students that this model has a built-in rule for precipitation made by the model’s programmer. Students’ challenge is to discover the rule by experimenting with the model. \\n\\n * Students may find it helpful to express their experiments comparing warmer or colder temperatures and moister or drier moisture values instead of specific temperatures or air moisture values.\\n\\n * Give students time to play with the model and record their understanding of the model rule design in the questions that follow.\\n\\nNOTE: This is a fairly sophisticated weather model. Don’t expect that students will discover the full precipitation rule. However, students should discover that the front runs up from the southwestern corner through Bethel and Anchorage with one air mass coming down from the northwest and the other up from the south and southwest. They may discover that generally, precipitation occurs along the front if there is a difference in temperature between the two air masses, and tends to form on the warmer side of the front. Although not always true, students will also see that precipitation forms other places than at the front. If the air masses are quite dry they may not produce precipitation. On the other hand, the warmer the air, the more moisture it can hold before precipitation appears. Very warm air can hold a lot of moisture producing a humid day without any rain.\\n\\nIf students are having trouble making rain, have them try a more systematic approach where they vary just one slider a step at a time to see the effect on precipitation. Be sure they know they have to wait a little while to see the effect of a change as the settings only affect the entering wind. Refreshing the screen by pressing Setup is often helpful. The point of this exercise is to see how well students can react to data and test as many options as possible. How deep is their thinking?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4047-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"After students have completed the questions on this page, project the model for the class, if possible. Ask students to discuss what they noticed about the model and what they learned from experimenting with it. The model is complex so there can be many viewpoints. The objective of this is to have students feel that they can learn from the model themselves. All observations are valid and up for discussion.\\n\\nPossible topics for discussion:\\n* It may be most valuable to discuss the questions student's answered on this page. An extended discussion could come from the question below.\\n\\n* What do the sizes and colors of the wind arrowheads mean? (The redder the warmer; the bluer the cooler; the larger the more moist; and the smaller the drier.)\\n\\n* Does precipitation fall only near the front? (No, it can fall where the arrowheads converge or come closer together.)\\n\\n* If the south settings and the west setting are the same, is there a front? (No, but the air may still converge.)\\n\\n* Do you see precipitation even where there is no front? What is a rule for it forming? (This is a little hard to figure out. By setting a high moisture level and then scanning through the temperatures, students can see that there are some intermediate temperatures that produce a lot of precipitation. At high temperatures, the air holds a lot of moisture; at low temperature the air holds little moisture.)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4048-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video to learn how students will use the Lesson 5 Virtual Model to test and refine their rule for, \\\"How do air masses affect precipitation?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: How Do Air Masses Affect Precipitation?, 2020, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4049-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Lesson 5:Air Mass Model", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/lesson-4-ak-v3.html", + "type": "MwInteractive", + "ref_id": "210892-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308521, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Dividing Alaska for Computation", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    In Lesson 2 you interpolated temperature data across Alaska to help you to build a model to predict the weather. 

    \n

    Now, think about the best way to divide it up. How large should each square of the grid be to get meaningful interpolated temperature estimates across the state?

    \n

    Discuss this question with your group and then with your class. You may want to consider:

    \n
      \n
    • How big is the area to be covered? (Alaska covers 663,000 square miles.)
    • \n
    • How big an area has about the same weather?
    • \n
    • How many real temperature measurements are available?
    • \n
    • How fast can you compute the interpolated values?
    • \n
    \n

    Consider two cases:

    \n
      \n
    • You have 10 measurements for all of mainland Alaska, and you will compute the interpolation by hand.
    • \n
    • You have 100 measurements for all of mainland Alaska, and a computer program will compute the interpolation.
    • \n
    \n

    Would you have different size grids for the two cases above? What size would they be and why?

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272813-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This curriculum is designed for students to learn about what computational thinking skills go into a weather model. With this page, students consider that the application of the skills involves choices that will depend on many factors. Through students’ group discussion, and then a whole class discussion, see how many factors they can weigh between the two cases. \\n\\nThis will help illuminate the true nature of a model: that is it a set of choices based on the available data and computing power in order to solve a problem. It is a classic case of a tradeoff.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4050-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"b97Q9MQ1RCOs9BlFVNGQ\",\"s3Url\":\"https://token-service-files.s3.amazonaws.com/glossary-plugin/b97Q9MQ1RCOs9BlFVNGQ/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/smoke-test-v1.json b/src/public/offline-activities/smoke-test-v1.json new file mode 100644 index 00000000..0411a297 --- /dev/null +++ b/src/public/offline-activities/smoke-test-v1.json @@ -0,0 +1,1495 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "APO Smoke Test", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": null, + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308562, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "LARA Native Questions Not Supported", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Native LARA Questions

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272853-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "default_text": "Testing custom default text", + "give_prediction_feedback": false, + "hint": "

    LARA Native hint

    ", + "is_full_width": false, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    LARA Native Open Response

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "447334-Embeddable::OpenResponse" + }, + "section": null + }, + { + "embeddable": { + "custom": true, + "enable_check_answer": true, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": false, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    why does ...

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "a", + "is_correct": true, + "prompt": "" + }, + { + "choice": "b", + "is_correct": false, + "prompt": "" + }, + { + "choice": "c", + "is_correct": false, + "prompt": "" + }, + { + "choice": "d", + "is_correct": false, + "prompt": "" + }, + { + "choice": "e", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "13053-Embeddable::MultipleChoice" + }, + "section": null + }, + { + "embeddable": { + "action_type": 0, + "custom_action_label": "", + "hint": "", + "is_full_width": false, + "is_hidden": false, + "name": "Labbook album", + "prompt": "

    LARA Native Labbook. Upload an image.

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::Labbook", + "ref_id": "209983-Embeddable::Labbook" + }, + "section": null + }, + { + "embeddable": { + "caption": "Here is my test caption", + "credit": "Credits go to concord home page", + "credit_url": "https://concord.org", + "is_full_width": true, + "is_hidden": false, + "url": "https://models-resources.s3.amazonaws.com/precip-models/ak-base-map-with-rose.png", + "type": "ImageInteractive", + "ref_id": "2615-ImageInteractive" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "caption": "Here is my test video caption", + "credit": "credits to concord home page", + "height": 240, + "is_full_width": true, + "is_hidden": false, + "poster_url": "", + "width": 556, + "sources": [ + { + "format": "video/mp4", + "url": "https://www.radiantmediaplayer.com/media/big-buck-bunny-360p.mp4" + } + ], + "type": "VideoInteractive", + "ref_id": "358-VideoInteractive" + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308563, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Question Interactives 1 - Basic", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Question-Interactives. Does not include Image Question, Draw Tool, Carousel or Graph interactives.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272854-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This is something for testing....\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4122-Embeddable::EmbeddablePlugin" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Choice A\",\"correct\":true},{\"id\":\"2\",\"content\":\"Choice B\",\"correct\":false},{\"id\":\"3\",\"content\":\"Choice C\",\"correct\":false}],\"prompt\":\"

    QI Multiple Choice

    \",\"required\":true,\"predictionFeedback\":\"

    QI post submission feedback

    \",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "af5d1860b2d4a037ae01e3d86931a30886fcb42d", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "A basic multiple choice interactive. This is pointing to the master branch and is in development so it shouldn't be used by real activities. \r\n", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1854-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    QI Open Response (static)

    \",\"required\":true,\"predictionFeedback\":\"

    QI Post Submission feedback

    \",\"hint\":\"

    QI hint

    \",\"defaultAnswer\":\"QI Custom default text\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "da655ced823a0246a5f8c5c46c90345f28f53efe", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1855-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip here testing 123\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4123-Embeddable::EmbeddablePlugin", + "embeddable_ref_id": "1854-ManagedInteractive" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar testing testing 5 4 3 2 1\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4124-Embeddable::EmbeddablePlugin", + "embeddable_ref_id": "1855-ManagedInteractive" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20,\"matchTerm\":\"Yes\"}],\"prompt\":\"

    Bold words are working right? Your Response: [blank-1] (static)

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "8309245b2663965db19b691ffc734135fdac34ea", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1856-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"\",\"teacherTip\":\"teacherTip only here\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4125-Embeddable::EmbeddablePlugin", + "embeddable_ref_id": "1856-ManagedInteractive" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":2,\"questionType\":\"iframe_interactive\",\"subinteractives\":[{\"libraryInteractiveId\":\"open-response\",\"authoredState\":{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Open response sub question 1

    \"},\"id\":\"cc54c458-d200-47a4-908a-c467f25f255e\"},{\"libraryInteractiveId\":\"fill-in-the-blank\",\"authoredState\":{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-2]\",\"size\":20,\"matchTerm\":\"something\"}],\"prompt\":\"

    Fill in the blank subquestion 2 [blank-2]

    \"},\"id\":\"cc0bf45c-f7c4-4bd5-a24f-d3bd37e24e24\"},{\"libraryInteractiveId\":\"multiple-choice\",\"authoredState\":{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Choice A\",\"correct\":true},{\"id\":\"2\",\"content\":\"Choice B\",\"correct\":false},{\"id\":\"3\",\"content\":\"Choice C\",\"correct\":false}],\"prompt\":\"

    Multiple choice sub question 3

    \",\"enableCheckAnswer\":false,\"hint\":\"

    Allow multiple answers

    \"},\"id\":\"20d50c33-c369-403a-8677-3290323f4709\"}],\"prompt\":\"

    Here is the global prompt (static)

    \",\"hint\":\"

    Testing global hint

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "a32c3f3acc51264e8e5765fc87bd2a113fa15e93", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/scaffolded-question/", + "click_to_play": false, + "click_to_play_prompt": "Click here please ..", + "description": "Master branch Scaffolded question", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": "https://picsum.photos/200/300", + "name": "Scaffolded Question (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1857-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip here testing 123\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4126-Embeddable::EmbeddablePlugin", + "embeddable_ref_id": "1858-ManagedInteractive" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://models-resources.s3.amazonaws.com/precip-models/ak-base-map-with-rose.png\",\"highResUrl\":\"https://models-resources.s3.amazonaws.com/precip-models/ak-base-map-with-rose.png\",\"altText\":\"Custom Alt Text .........\",\"caption\":\"Here is the test caption for the image of a map (static)\",\"credit\":\"Credits go to blah blah blah\",\"creditLink\":\"https://concord.org\",\"creditLinkDisplayText\":\"CONCORD HOME\",\"allowLightbox\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "d3021e60ed42e1e90031676b9db83210e39b5c6a", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1858-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://www.radiantmediaplayer.com/media/big-buck-bunny-360p.mp4\",\"poster\":\"https://models-resources.s3.amazonaws.com/geniblocks/resources/fablevision/rooms/missioncontrol.jpg\",\"prompt\":\"Some descriptions for my video......\",\"credit\":\"Credits go out to the Academy and my family of course\",\"creditLink\":\"https://concord.org\",\"creditLinkDisplayText\":\"CONCORD HOME\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "b2e4e5186c1e557d588f350f9696b09356e4ef39", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "New video player ", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video player (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1859-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308564, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Question Interactives 2 - Image / Draw Tool / DragNDrop", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Image Questions and Draw tool focus. Snapshot, upload, Image URL background, Draw Tool. Exercise resizing of uploaded images.

    \r\n

     

    \r\n

    - Images with no-cors in headers will be given a warning in the interactive with red text.

    \r\n

    - Image Questions will not work in LARA runtime

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272855-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"image_question\",\"imageFit\":\"shrinkBackgroundToCanvas\",\"imagePosition\":\"center\",\"backgroundSource\":\"upload\",\"prompt\":\"

    Prompt: QI Image Interactive background source: Upload

    \",\"defaultAnswer\":\"Custom default answer\",\"answerPrompt\":\"

    Here is the answer prompt...

    \",\"hint\":\"Here is a hint\",\"stampCollections\":[{\"collection\":\"ngsaObjects\",\"name\":\"NGSA\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "217c48c2252f0bc168fe35f2297f54777aea07ce", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image-question/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Question (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1860-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"image_question\",\"imageFit\":\"shrinkBackgroundToCanvas\",\"imagePosition\":\"center\",\"prompt\":\"

    Question Interactive background source: snapshot

    \",\"backgroundSource\":\"snapshot\",\"snapshotTarget\":\"interactive_1424326\",\"stampCollections\":[{\"collection\":\"molecules\",\"name\":\"Molecules\"}],\"answerPrompt\":\"

    Answer prompt text

    \",\"defaultAnswer\":\"Custom default answer text\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "217c48c2252f0bc168fe35f2297f54777aea07ce", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image-question/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Question (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1861-ManagedInteractive", + "linked_interactives": [ + { + "ref_id": "1864-ManagedInteractive", + "label": "snapshotTarget" + } + ] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"imageFit\":\"shrinkBackgroundToCanvas\",\"imagePosition\":\"center\",\"prompt\":\"

    QI Draw Tool background source: Upload (StAtic)

    \",\"backgroundSource\":\"upload\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "804f09b3044de3808429dd0e26014dff312ea62b", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drawing-tool/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drawing Tool (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1862-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"imageFit\":\"shrinkBackgroundToCanvas\",\"imagePosition\":\"center\",\"backgroundSource\":\"url\",\"prompt\":\"

    Here is some text (LARA Static)

    \",\"backgroundImageUrl\":\"https://building-models-resources.concord.org/Evaporation/water-drop-300-250.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "804f09b3044de3808429dd0e26014dff312ea62b", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drawing-tool/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drawing Tool (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1863-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://building-models-resources.concord.org/Evaporation/water-drop-300-250.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "d3021e60ed42e1e90031676b9db83210e39b5c6a", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1864-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":392,\"canvasHeight\":342,\"initialState\":{\"itemPositions\":{\"5fdd7ef5-46e9-4be8-b64b-d9d17a031867\":{\"left\":17,\"top\":42},\"03f05474-23d9-4812-93db-f6654b4ccc8e\":{\"left\":96,\"top\":40},\"8c62252c-f90a-4625-aef0-d262e8a639f2\":{\"left\":193,\"top\":42},\"199c09d6-eef9-4753-bfff-22c53b54e238\":{\"left\":280,\"top\":38}}},\"prompt\":\"

    Drag the cats to the right positions

    \",\"backgroundImageUrl\":\"https://placekitten.com/392/343\",\"draggableItems\":[{\"id\":\"5fdd7ef5-46e9-4be8-b64b-d9d17a031867\",\"imageUrl\":\"https://placekitten.com/50/60\"},{\"id\":\"03f05474-23d9-4812-93db-f6654b4ccc8e\",\"imageUrl\":\"https://placekitten.com/50/61\"},{\"id\":\"8c62252c-f90a-4625-aef0-d262e8a639f2\",\"imageUrl\":\"https://placekitten.com/50/62\"},{\"id\":\"199c09d6-eef9-4753-bfff-22c53b54e238\",\"imageUrl\":\"https://placekitten.com/50/65\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "c6fe379add61f7d2005b69a765d841b8c2fb9483", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop (Master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1865-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308565, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Question Interactives 3 - Graph and Carousel", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Testing linked interactives with vortex and graph interactives

    \r\n

    - Make sure to test navigation of carousel with keyboard

    \r\n

    - Check reports for carousel in portal

    \r\n

    - Each version of vortex interactive should be checked

    \r\n

    - There is currently a bug in the graph interactive it seems

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272856-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response\",\"authoredState\":{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Open response prompt

    \",\"hint\":\"

    hint for OR

    \",\"required\":true},\"id\":\"60d92b9d-01e5-424e-9172-f2c18b1c60f0\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank\",\"authoredState\":{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20,\"matchTerm\":\"blank\"}],\"prompt\":\"

    Fill in the [blank-1]

    \",\"required\":true},\"id\":\"18b87d6d-8bfd-48a9-a121-e16b8b7c824c\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice\",\"authoredState\":{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Choice A\",\"correct\":true,\"choiceFeedback\":\"Choice A is right\"},{\"id\":\"2\",\"content\":\"Choice B\",\"correct\":false,\"choiceFeedback\":\"Choice B is wrong\"},{\"id\":\"3\",\"content\":\"Choice C\",\"correct\":false,\"choiceFeedback\":\"Choice C is wrong\"}],\"prompt\":\"

    MC sub question prompt

    \",\"enableCheckAnswer\":true,\"customFeedback\":true,\"required\":true},\"id\":\"5e31a201-ac05-4d5e-a93e-3ea72242225b\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player\",\"authoredState\":{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://www.radiantmediaplayer.com/media/big-buck-bunny-360p.mp4\\n\",\"poster\":\"https://www.gstatic.com/webp/gallery3/1.sm.png\",\"prompt\":\"Some small description\",\"credit\":\"Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. \",\"creditLink\":\"https://concord.org\",\"creditLinkDisplayText\":\"Concord Home\"},\"id\":\"90df0a51-e5f8-44b1-8a30-ac713a5affd6\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://building-models-resources.concord.org/Evaporation/water-drop-300-250.png\",\"highResUrl\":\"https://www.gstatic.com/webp/gallery/4.sm.jpg\",\"altText\":\"Some custom alt text in here\",\"caption\":\"Here is a beautiful flower which looks more like a tree once you zoom into it\",\"credit\":\"Credits out to CC\",\"creditLink\":\"https://concord.org\",\"creditLinkDisplayText\":\"Concord Home\",\"allowLightbox\":true},\"id\":\"85c2fa2d-5ac6-4024-80b2-c3ed71830601\",\"navImageUrl\":\"\",\"navImageAltText\":\"\"}],\"prompt\":\"

    QI Carousel Interactive. Contains 5 Interactives (Multiple Choice, Open Response, Fill-In-The-Blank, Image, Video) (Static)

    \",\"hint\":\"\",\"required\":false}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "0389a9062aaab9afc5c21478d5cf85b468418842", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/carousel/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Carousel Interactive (Master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1866-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip on carousel\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4127-Embeddable::EmbeddablePlugin", + "embeddable_ref_id": "1866-ManagedInteractive" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":\"1.0\",\"experimentId\":\"e431af00-5ef9-44f8-a887-c76caa6ddde1\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "dae5d6e8739a443ea5bdec2021b6ed6007b591a7", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/vortex/version/v1.2.0/lara-app/index.html", + "click_to_play": true, + "click_to_play_prompt": "", + "description": "WATERS LARA app (production)", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": "https://www.thelabradorsite.com/wp-content/uploads/2016/05/6t.jpg", + "name": "Monitor My World v1.2.0", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1867-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"graphsPerRow\":3,\"displayXAxisLabels\":true,\"dataSourceInteractive1\":\"interactive_1426174\",\"dataSourceInteractive1Name\":\"Interactive 1\",\"dataSourceInteractive2\":\"interactive_1426175\",\"dataSourceInteractive2Name\":\"Interactive 2\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "9362d5cf383c7458cbeacaa3767761f2ad236f9a", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/graph/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Graph Interactive (Master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1868-ManagedInteractive", + "linked_interactives": [ + { + "ref_id": "1867-ManagedInteractive", + "label": "dataSourceInteractive1" + }, + { + "ref_id": "1869-ManagedInteractive", + "label": "dataSourceInteractive2" + } + ] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":\"1.0\",\"experimentId\":\"e431af00-5ef9-44f8-a887-c76caa6ddde1\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "dae5d6e8739a443ea5bdec2021b6ed6007b591a7", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/vortex/version/v1.2.0/lara-app/index.html", + "click_to_play": true, + "click_to_play_prompt": "", + "description": "WATERS LARA app (production)", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": "https://www.thelabradorsite.com/wp-content/uploads/2016/05/6t.jpg", + "name": "Monitor My World v1.2.0", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1869-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308566, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "iFrame Interactive Content", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": true, + "embeddables": [ + { + "embeddable": { + "content": "

    Testing screen reading capabilities. Progressing towards more complex iframes.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272857-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://concord.org/", + "type": "MwInteractive", + "ref_id": "210906-MwInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Here is some text

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "da655ced823a0246a5f8c5c46c90345f28f53efe", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1870-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "MAX", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": false, + "url": "https://leaf-pack.concord.org/branch/main/", + "type": "MwInteractive", + "ref_id": "210907-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308567, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Leaf Pack Sim Full Width", + "position": 6, + "show_header": false, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://leaf-pack.concord.org/branch/main/", + "type": "MwInteractive", + "ref_id": "210908-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308568, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 7, + "show_header": false, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://connected-bio-spaces.concord.org", + "type": "MwInteractive", + "ref_id": "210909-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308569, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 8, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"OAZ4YMBC1ATNeAdUif8X\",\"s3Url\":\"https://token-service-files.s3.amazonaws.com/glossary-plugin/OAZ4YMBC1ATNeAdUif8X/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-manifests/precipitatingchange.json b/src/public/offline-manifests/precipitatingchange-test-v1.json similarity index 64% rename from src/public/offline-manifests/precipitatingchange.json rename to src/public/offline-manifests/precipitatingchange-test-v1.json index 383d12a5..8005ade6 100644 --- a/src/public/offline-manifests/precipitatingchange.json +++ b/src/public/offline-manifests/precipitatingchange-test-v1.json @@ -2,12 +2,13 @@ "name": "Precipitating Change Offline Manifest", "activities": [ { - "name": "AP Noah: AK NetLogo PChange 2021-02-17 ", - "url": "https://authoring.staging.concord.org/api/v1/activities/20926.json" + "name": "Precipitating Change (TEST)", + "url": "offline-activities/precipitatingchange-test-v1.json" } ], "cacheList": [ - "https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", + "http://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg", @@ -18,19 +19,21 @@ "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png", "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", "https://fonts.googleapis.com/css?family=Lato", - "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", - "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", - "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXg.woff2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", + "https://token-service-files.s3.amazonaws.com/glossary-plugin/b97Q9MQ1RCOs9BlFVNGQ/glossary.json", + "models-resources/glossary-plugin/version/v3.12.0/manifest.json", + "models-resources/glossary-plugin/version/v3.12.0/plugin.js", "models-resources/precip-models/ak-base-map-with-rose.png", "models-resources/precip-models/lesson-4-ak-v3.html", - "models-resources/question-interactives/branch/master/multiple-choice/", - "models-resources/question-interactives/branch/master/multiple-choice/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/multiple-choice/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/branch/master/open-response/", - "models-resources/question-interactives/branch/master/open-response/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/open-response/assets/index.ef6640fdbaa59e7d870c.js", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/open-response/", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.js", "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" ] diff --git a/src/public/offline-manifests/smoke-test-v1.json b/src/public/offline-manifests/smoke-test-v1.json new file mode 100644 index 00000000..308d1ccf --- /dev/null +++ b/src/public/offline-manifests/smoke-test-v1.json @@ -0,0 +1,75 @@ +{ + "name": "APO Smoke Test", + "activities": [ + { + "name": "APO Smoke Test", + "url": "offline-activities/smoke-test-v1.json" + } + ], + "cacheList": [ + "http://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", + "https://building-models-resources.concord.org/Evaporation/water-drop-300-250.png", + "https://concord.org", + "https://concord.org/", + "https://connected-bio-spaces.concord.org", + "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.googleapis.com/css?family=Roboto&display=swap", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ.woff2", + "https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2", + "https://leaf-pack.concord.org/branch/main/", + "https://picsum.photos/200/300", + "https://placekitten.com/392/343", + "https://placekitten.com/50/60", + "https://placekitten.com/50/61", + "https://placekitten.com/50/62", + "https://placekitten.com/50/65", + "https://token-service-files.s3.amazonaws.com/glossary-plugin/OAZ4YMBC1ATNeAdUif8X/glossary.json", + "https://www.radiantmediaplayer.com/media/big-buck-bunny-360p.mp4", + "https://www.thelabradorsite.com/wp-content/uploads/2016/05/6t.jpg", + "models-resources/geniblocks/resources/fablevision/rooms/missioncontrol.jpg", + "models-resources/glossary-plugin/version/v3.12.0/manifest.json", + "models-resources/glossary-plugin/version/v3.12.0/plugin.js", + "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/question-interactives/version/v1.1.0/carousel/", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/drawing-tool/", + "models-resources/question-interactives/version/v1.1.0/drawing-tool/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/drawing-tool/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/graph/", + "models-resources/question-interactives/version/v1.1.0/graph/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/graph/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/image-question/", + "models-resources/question-interactives/version/v1.1.0/image-question/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/image-question/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/image/", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/open-response", + "models-resources/question-interactives/version/v1.1.0/open-response/", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/scaffolded-question/", + "models-resources/question-interactives/version/v1.1.0/scaffolded-question/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/scaffolded-question/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/video-player/", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js", + "models-resources/vortex/version/v1.2.0/lara-app/assets/index.58055ed0f7e706ef8da7.css", + "models-resources/vortex/version/v1.2.0/lara-app/assets/index.58055ed0f7e706ef8da7.js", + "models-resources/vortex/version/v1.2.0/lara-app/index.html" + ] +} \ No newline at end of file diff --git a/src/public/offline-manifests/smoke-test.json b/src/public/offline-manifests/smoke-test.json deleted file mode 100644 index 5625a05a..00000000 --- a/src/public/offline-manifests/smoke-test.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "name": "APO Smoke Test", - "activities": [ - { - "name": "APO Smoke Test", - "url": "https://authoring.staging.concord.org/api/v1/activities/20936.json" - } - ], - "cacheList": [ - "http://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", - "http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", - "https://building-models-resources.concord.org/Evaporation/water-drop-300-250.png", - "https://concord.org", - "https://concord.org/", - "https://connected-bio-spaces.concord.org", - "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", - "https://fonts.googleapis.com/css?family=Lato", - "https://fonts.googleapis.com/css?family=Roboto&display=swap", - "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ.woff2", - "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ.woff2", - "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXg.woff2", - "https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2", - "https://leaf-pack.concord.org/branch/main/", - "https://picsum.photos/200/300", - "https://placekitten.com/392/343", - "https://placekitten.com/50/60", - "https://placekitten.com/50/61", - "https://placekitten.com/50/62", - "https://placekitten.com/50/65", - "https://token-service-files.s3.amazonaws.com/glossary-plugin/OAZ4YMBC1ATNeAdUif8X/glossary.json", - "https://www.radiantmediaplayer.com/media/big-buck-bunny-360p.mp4", - "https://www.thelabradorsite.com/wp-content/uploads/2016/05/6t.jpg", - "models-resources/geniblocks/resources/fablevision/rooms/missioncontrol.jpg", - "models-resources/glossary-plugin/version/v3.11.0/manifest.json", - "models-resources/glossary-plugin/version/v3.11.0/plugin.js", - "models-resources/precip-models/ak-base-map-with-rose.png", - "models-resources/question-interactives/branch/master/carousel/", - "models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/branch/master/drag-and-drop/", - "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/branch/master/drawing-tool/", - "models-resources/question-interactives/branch/master/drawing-tool/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/drawing-tool/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/branch/master/fill-in-the-blank/", - "models-resources/question-interactives/branch/master/fill-in-the-blank/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/fill-in-the-blank/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/branch/master/graph/", - "models-resources/question-interactives/branch/master/graph/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/graph/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/branch/master/image-question/", - "models-resources/question-interactives/branch/master/image-question/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/image-question/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/branch/master/image/", - "models-resources/question-interactives/branch/master/image/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/image/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/branch/master/multiple-choice/", - "models-resources/question-interactives/branch/master/multiple-choice/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/multiple-choice/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/branch/master/open-response", - "models-resources/question-interactives/branch/master/open-response/", - "models-resources/question-interactives/branch/master/open-response/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/open-response/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/branch/master/scaffolded-question/", - "models-resources/question-interactives/branch/master/scaffolded-question/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/scaffolded-question/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/branch/master/video-player/", - "models-resources/question-interactives/branch/master/video-player/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/video-player/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", - "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js", - "models-resources/vortex/version/v1.2.0/lara-app/assets/index.58055ed0f7e706ef8da7.css", - "models-resources/vortex/version/v1.2.0/lara-app/assets/index.58055ed0f7e706ef8da7.js", - "models-resources/vortex/version/v1.2.0/lara-app/index.html" - ] -} \ No newline at end of file diff --git a/src/utilities/activity-utils.test.ts b/src/utilities/activity-utils.test.ts index 3fe5b4c6..686bf111 100644 --- a/src/utilities/activity-utils.test.ts +++ b/src/utilities/activity-utils.test.ts @@ -1,6 +1,6 @@ import { Activity } from "../types"; import { isQuestion, isEmbeddableSectionHidden, getVisibleEmbeddablesOnPage, VisibleEmbeddables, - EmbeddableSections, getPageSectionQuestionCount, numQuestionsOnPreviousPages, enableReportButton, getPagePositionFromQueryValue } from "./activity-utils"; + EmbeddableSections, getPageSectionQuestionCount, numQuestionsOnPreviousPages, enableReportButton, getPagePositionFromQueryValue, isNotSampleActivityUrl } from "./activity-utils"; import _activityHidden from "../data/sample-activity-hidden-content.json"; import _activity from "../data/sample-activity-multiple-layout-types.json"; import { DefaultTestActivity } from "../test-utils/model-for-tests"; @@ -94,4 +94,10 @@ describe("Activity utility functions", () => { expect(getPagePositionFromQueryValue(activity, "page_2000")).toBe(2); expect(getPagePositionFromQueryValue(activity, "page_3000")).toBe(3); }); + + it("determines if an activity url is not a sample activity", () => { + expect(isNotSampleActivityUrl("foo")).toBe(false); + expect(isNotSampleActivityUrl("http://example.com/foo")).toBe(true); + expect(isNotSampleActivityUrl("offline-activities/foo")).toBe(true); + }); }); diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index 97a580e9..fdbf37ba 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -214,3 +214,5 @@ export const getAllUrlsInActivity = (activity: Activity, urls: string[] = []) => }); return urls; }; + +export const isNotSampleActivityUrl = (url: string) => /https?:\/\//.test(url) || /^offline-activities\//.test(url); From c770d2bb14c7eab1dfd50fe05e45f302b4408cbe Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Fri, 12 Mar 2021 16:52:23 -0500 Subject: [PATCH 066/242] switch to https for jquery urls the manifest was probably created by using a localhost version of the activity-player running on http and these resources are referenced in index.html with `//code.jquery.com...` so they inherit the protocol of the main page. --- .../offline-manifests/precipitatingchange-test-v1.json | 6 +++--- src/public/offline-manifests/smoke-test-v1.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/public/offline-manifests/precipitatingchange-test-v1.json b/src/public/offline-manifests/precipitatingchange-test-v1.json index 8005ade6..5d63f8b0 100644 --- a/src/public/offline-manifests/precipitatingchange-test-v1.json +++ b/src/public/offline-manifests/precipitatingchange-test-v1.json @@ -7,8 +7,8 @@ } ], "cacheList": [ - "http://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", - "http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg", @@ -37,4 +37,4 @@ "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" ] -} \ No newline at end of file +} diff --git a/src/public/offline-manifests/smoke-test-v1.json b/src/public/offline-manifests/smoke-test-v1.json index 308d1ccf..969fc748 100644 --- a/src/public/offline-manifests/smoke-test-v1.json +++ b/src/public/offline-manifests/smoke-test-v1.json @@ -7,8 +7,8 @@ } ], "cacheList": [ - "http://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", - "http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", "https://building-models-resources.concord.org/Evaporation/water-drop-300-250.png", "https://concord.org", "https://concord.org/", @@ -72,4 +72,4 @@ "models-resources/vortex/version/v1.2.0/lara-app/assets/index.58055ed0f7e706ef8da7.js", "models-resources/vortex/version/v1.2.0/lara-app/index.html" ] -} \ No newline at end of file +} From 57cf0ab751d8d7cc76ac2ec5c35ed3836fa5ef06 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 13 Mar 2021 09:47:31 -0500 Subject: [PATCH 067/242] replace url with resourceUrl and contentUrl this also changes the answers stored in indexedDB to have an resource_url instead of an activity field --- src/components/app.tsx | 43 +++++++++++-------- src/components/offline-activities.tsx | 8 ++-- src/offline-manifest-api.ts | 14 +++--- .../precipitatingchange-test-v1.json | 3 +- .../offline-manifests/smoke-test-v1.json | 3 +- src/storage/dexie-storage.ts | 15 ++++++- src/storage/storage-facade.ts | 39 +++++++++-------- src/types.ts | 3 +- 8 files changed, 77 insertions(+), 51 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 41d331e7..3e994f18 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -15,7 +15,7 @@ import { CompletionPageContent } from "./activity-completion/completion-page-con import { queryValue, queryValueBoolean } from "../utilities/url-query"; import { IPortalData, firebaseAppName } from "../portal-api"; import { Activity, IEmbeddablePlugin, OfflineManifest, OfflineManifestActivity, Sequence } from "../types"; -import { TrackOfflineActivityId, initStorage } from "../storage/storage-facade"; +import { TrackOfflineResourceUrl, initStorage } from "../storage/storage-facade"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; import { loadPluginScripts, getGlossaryEmbeddable, loadLearnerPluginState } from "../utilities/plugin-utils"; @@ -253,13 +253,21 @@ export class App extends React.PureComponent { } let activity: Activity | undefined = undefined; + let resourceUrl: string | undefined = undefined; const activityPath = queryValue("activity") || (offlineMode ? undefined : kDefaultActivity); if (activityPath) { + resourceUrl = getResourceUrl(activityPath); + // initial call to set the id in the storage facade - this.trackOfflineActivityId(activityPath); - activity = await getActivityDefinition(activityPath); + this.trackOfflineResourceUrl(resourceUrl); + + // allow overriding the location of the activity definition this way we + // can lock down the activity definition, but still use the common + // resourceUrl that would be used if the resource was online + const contentUrl = queryValue("contentUrl") || activityPath; + activity = await getActivityDefinition(contentUrl); if (offlineManifestAuthoringId) { - this.addActivityToOfflineManifest(offlineManifestAuthoringId, activity, activityPath); + this.addActivityToOfflineManifest(offlineManifestAuthoringId, activity, resourceUrl, contentUrl); } } @@ -305,8 +313,8 @@ export class App extends React.PureComponent { Logger.initializeLogger(this.LARA, newState.username || this.state.username, role, classHash, teacherEditionMode, sequencePath, 0, sequencePath ? undefined : activityPath, currentPage, runRemoteEndpoint, offlineMode); // call this again now that the logger is available - if (activityPath) { - this.trackOfflineActivityId(activityPath); + if (resourceUrl) { + this.trackOfflineResourceUrl(resourceUrl); } const idleDetector = new IdleDetector({ idle: Number(kMaxIdleTime), onIdle: this.handleIdleness }); @@ -641,8 +649,9 @@ export class App extends React.PureComponent { this.setState({loadingOfflineManifest: false}); } - private addActivityToOfflineManifest = (offlineManifestAuthoringId: string, activity: Activity, url: string) => { - if (offlineManifestAuthoringId && isNotSampleActivityUrl(url)) { + private addActivityToOfflineManifest = (offlineManifestAuthoringId: string, activity: Activity, + resourceUrl: string, contentUrl: string) => { + if (offlineManifestAuthoringId && isNotSampleActivityUrl(contentUrl)) { this.setState(prevState => { let {offlineManifestAuthoringActivities} = prevState; const {offlineManifestAuthoringCacheList} = prevState; @@ -653,8 +662,9 @@ export class App extends React.PureComponent { } }); - if (!prevState.offlineManifestAuthoringActivities.find(a => a.url === url)) { - offlineManifestAuthoringActivities = offlineManifestAuthoringActivities.concat({ name: activity.name, url }); + if (!prevState.offlineManifestAuthoringActivities.find(a => a.resourceUrl === resourceUrl)) { + offlineManifestAuthoringActivities = + offlineManifestAuthoringActivities.concat({ name: activity.name, resourceUrl, contentUrl }); setOfflineManifestAuthoringData(offlineManifestAuthoringId, { activities: offlineManifestAuthoringActivities, cacheList: offlineManifestAuthoringCacheList @@ -666,20 +676,19 @@ export class App extends React.PureComponent { } } - private handleSelectOfflineActivity = (selectedActivity: Activity, url: string) => { + private handleSelectOfflineActivity = (selectedActivity: Activity, resourceUrl: string, contentUrl: string) => { this.setState({ activity: selectedActivity }); - this.trackOfflineActivityId(url); + this.trackOfflineResourceUrl(resourceUrl); if (this.state.offlineManifestAuthoringId) { - this.addActivityToOfflineManifest(this.state.offlineManifestAuthoringId, selectedActivity, url); + this.addActivityToOfflineManifest(this.state.offlineManifestAuthoringId, selectedActivity, + resourceUrl, contentUrl); } } private handleShowOfflineActivities = () => this.setState({ activity: undefined }); - private trackOfflineActivityId(apiUrl: string) { - const resourceUrl = getResourceUrl(apiUrl); - // TODO: use resourceUrl instead of apiUrl in storage facade - TrackOfflineActivityId(apiUrl); + private trackOfflineResourceUrl(resourceUrl: string) { + TrackOfflineResourceUrl(resourceUrl); Logger.setActivity(resourceUrl); } diff --git a/src/components/offline-activities.tsx b/src/components/offline-activities.tsx index 60f8b7e7..63ff38cc 100644 --- a/src/components/offline-activities.tsx +++ b/src/components/offline-activities.tsx @@ -18,7 +18,7 @@ const OfflineActivityListRow = (props: {activity: OfflineActivity; onSelectOffl interface IProps { username: string; - onSelectActivity: (activity: Activity, url: string) => void; + onSelectActivity: (activity: Activity, resourceUrl: string, contentUrl: string) => void; } interface IState { @@ -44,8 +44,8 @@ export class OfflineActivities extends React.Component { handleSelectOfflineActivity = async (offlineActivity: OfflineActivity) => { const { onSelectActivity } = this.props; try { - const activity = await getActivityDefinition(offlineActivity.url); - onSelectActivity(activity, offlineActivity.url); + const activity = await getActivityDefinition(offlineActivity.contentUrl); + onSelectActivity(activity, offlineActivity.resourceUrl, offlineActivity.contentUrl); } catch (e) { alert("Error loading activity!"); } @@ -69,7 +69,7 @@ export class OfflineActivities extends React.Component { {offlineActivities.map(offlineActivity => - + )} diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index f6bd773b..09948892 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -43,7 +43,7 @@ export interface CacheOfflineManifestOptions { export const cacheOfflineManifest = (options: CacheOfflineManifestOptions) => { const {offlineManifest, onCachingStarted, onUrlCached, onUrlCacheFailed, onAllUrlsCached, onAllUrlsCacheFailed} = options; - const urls = offlineManifest.activities.map(a => a.url).concat(offlineManifest.cacheList); + const urls = offlineManifest.activities.map(a => a.contentUrl).concat(offlineManifest.cacheList); const loadingPromises = urls.map(url => { return fetch(url, {mode: "no-cors"}) .then(() => onUrlCached(url)) @@ -102,7 +102,9 @@ export const getOfflineManifestAuthoringDownloadJSON = (name: string, data: Offl export const mergeOfflineManifestWithAuthoringData = (offlineManifest: OfflineManifest, authoringData: OfflineManifestAuthoringData) => { const {activities, cacheList} = authoringData; offlineManifest.activities.forEach(activity => { - if (!activities.find(a => a.url === activity.url)) { + // Note: if the contentUrl has changed this is won't update it in the manifest + // but in that case it seems reasonable that the author will just manually fix it. + if (!activities.find(a => a.resourceUrl === activity.resourceUrl)) { activities.push(activity); } }); @@ -116,12 +118,12 @@ export const mergeOfflineManifestWithAuthoringData = (offlineManifest: OfflineMa export const saveOfflineManifestToOfflineActivities = async (offlineManifest: OfflineManifest) => { const promises = offlineManifest.activities.map(async (offlineManifestActivity) => { - const {name, url} = offlineManifestActivity; - const offlineActivity = await dexieStorage.offlineActivities.get({url}); + const {name, resourceUrl, contentUrl} = offlineManifestActivity; + const offlineActivity = await dexieStorage.offlineActivities.get({resourceUrl}); if (offlineActivity) { - await dexieStorage.offlineActivities.update(url, {name, url}); + await dexieStorage.offlineActivities.update(resourceUrl, {name, resourceUrl, contentUrl}); } else { - await dexieStorage.offlineActivities.put({name, url}); + await dexieStorage.offlineActivities.put({name, resourceUrl, contentUrl}); } }); await Promise.all(promises); diff --git a/src/public/offline-manifests/precipitatingchange-test-v1.json b/src/public/offline-manifests/precipitatingchange-test-v1.json index 5d63f8b0..9a919b35 100644 --- a/src/public/offline-manifests/precipitatingchange-test-v1.json +++ b/src/public/offline-manifests/precipitatingchange-test-v1.json @@ -3,7 +3,8 @@ "activities": [ { "name": "Precipitating Change (TEST)", - "url": "offline-activities/precipitatingchange-test-v1.json" + "resourceUrl": "https://authoring.staging.concord.org/activities/20944", + "contentUrl": "offline-activities/precipitatingchange-test-v1.json" } ], "cacheList": [ diff --git a/src/public/offline-manifests/smoke-test-v1.json b/src/public/offline-manifests/smoke-test-v1.json index 969fc748..067c84d9 100644 --- a/src/public/offline-manifests/smoke-test-v1.json +++ b/src/public/offline-manifests/smoke-test-v1.json @@ -3,7 +3,8 @@ "activities": [ { "name": "APO Smoke Test", - "url": "offline-activities/smoke-test-v1.json" + "resourceUrl": "https://authoring.staging.concord.org/activities/20936", + "contentUrl": "offline-activities/smoke-test-v1.json" } ], "cacheList": [ diff --git a/src/storage/dexie-storage.ts b/src/storage/dexie-storage.ts index 4a84d6e8..9f51cf44 100644 --- a/src/storage/dexie-storage.ts +++ b/src/storage/dexie-storage.ts @@ -16,16 +16,27 @@ export class DexieStorage extends Dexie { constructor () { super("ActivityPlayer"); + // FIXME: There is only one version for the whole database. + // calling version multiple times is how you can specify a schema for older + // versions of the database. this.version(5).stores({ logs: "++id, activity" }); this.version(kOfflineAnswerSchemaVersion).stores({ - answers: "id, question_id, activity", + answers: "id, resource_url, [resource_url+question_id]", pluginStates: "&pluginId" }); this.version(3).stores({ - offlineActivities: "&url" // unique by url + offlineActivities: "&resourceUrl" // unique by resourceUrl }); + + // Once we fix the version issue, the following code can be used + // to clear the old tables since we don't need to worry about + // about the old data. I'm not sure what the return value should + // be to the upgrade callback + // .upgrade(tx => { + // return tx.table("offlineActivities").toCollection().delete(); + // }); } } diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 05012e26..7b830700 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -20,15 +20,15 @@ export interface IWrappedDBAnswer { interactiveState: any; } -export type IIndexedDBAnswer = IExportableAnswerMetadata & { activity: string }; +export type IIndexedDBAnswer = IExportableAnswerMetadata & { resource_url: string }; -export type ExportableActivity = { activity: string, filename: string, version: number, answers: IIndexedDBAnswer[] }; +export type ExportableActivity = { resource_url: string, filename: string, version: number, answers: IIndexedDBAnswer[] }; -export const TrackOfflineActivityId = (newId: string) => { - _currentOfflineActivityId = newId; +export const TrackOfflineResourceUrl = (newId: string) => { + _currentOfflineResourceUrl = newId; }; -let _currentOfflineActivityId = "/testactivity.json"; +let _currentOfflineResourceUrl = "/testactivity.json"; // A write-though cache of the learner plugin states is kept as the plugin's @@ -210,7 +210,7 @@ class DexieStorageProvider implements IStorageInterface { createOrUpdateAnswer(answer: IExportableAnswerMetadata) { const idxDBAnswer = answer as IIndexedDBAnswer; - idxDBAnswer.activity = _currentOfflineActivityId; + idxDBAnswer.resource_url = _currentOfflineResourceUrl; dexieStorage.answers.put(idxDBAnswer); } @@ -220,12 +220,11 @@ class DexieStorageProvider implements IStorageInterface { watchAllAnswers(callback: (wrappedAnswer: IWrappedDBAnswer[]) => void){ console.log("WatchAllAnsweres called"); - console.log(`current activity: ${_currentOfflineActivityId}`); + console.log(`current resource: ${_currentOfflineResourceUrl}`); const foundAnswers = dexieStorage .answers - .where("activity") - .equals(_currentOfflineActivityId) + .where({resource_url: _currentOfflineResourceUrl}) .toArray(); return foundAnswers.then((answers) => { console.dir(answers); @@ -239,8 +238,8 @@ class DexieStorageProvider implements IStorageInterface { const getAnswerFromIndexDB = (qID: string) => { const foundAnswers = dexieStorage .answers - .where("question_id") - .equals(qID).toArray(); + .where({resource_url: _currentOfflineResourceUrl, question_id: qID}) + .toArray(); return foundAnswers.then((answers) => { return answers[0]; }); @@ -259,14 +258,14 @@ class DexieStorageProvider implements IStorageInterface { } exportActivityToJSON(activityId?: string) { - const currentActivityId = activityId ? activityId : _currentOfflineActivityId; + const currentActivityId = activityId ? activityId : _currentOfflineResourceUrl; const activityShortId = currentActivityId.indexOf("/") > -1 ? currentActivityId.substr(currentActivityId.lastIndexOf("/")+1).replace(".json", "") : currentActivityId; const filename = activityExportFileName(activityShortId); const getAllAnswersFromIndexDB = () => { const foundAnswers = dexieStorage .answers - .where("activity") - .equals(currentActivityId).toArray(); + .where({resource_url: currentActivityId}) + .toArray(); return foundAnswers.then((answers) => { return answers; }); @@ -274,7 +273,7 @@ class DexieStorageProvider implements IStorageInterface { return getAllAnswersFromIndexDB().then((answers: IIndexedDBAnswer[] | null) => { // Adding an explicit variable for the exportable activity for Typescript reasons - const exportableActivity: ExportableActivity = { activity: currentActivityId, filename, version: kOfflineAnswerSchemaVersion, answers: [] }; + const exportableActivity: ExportableActivity = { resource_url: currentActivityId, filename, version: kOfflineAnswerSchemaVersion, answers: [] }; if (answers) { exportableActivity.answers = answers; return exportableActivity; @@ -295,7 +294,7 @@ class DexieStorageProvider implements IStorageInterface { if (!answers) { return false; } - if (!("activity" in answers)) { + if (!("resource_url" in answers)) { return false; } if (!("version" in answers)){ @@ -316,7 +315,7 @@ class DexieStorageProvider implements IStorageInterface { parsedAnswers.answers.forEach((answer: IIndexedDBAnswer) => { const idxDBAnswer = answer as IIndexedDBAnswer; // TODO: what happens if the answers loaded are for a different activity? - idxDBAnswer.activity = answer.activity; + idxDBAnswer.resource_url = answer.resource_url; dexieStorage.answers.put(idxDBAnswer); }); return true; @@ -368,10 +367,12 @@ class DexieStorageProvider implements IStorageInterface { await fsProvider.initializeDB({ name: appName, preview: false, offline: false, portalData}); this.haveFireStoreConnection = true; } + // FIXME: this should be checking the resourceUrl of the rawPoralData + // we don't want to send answers for the wrong resource url to an assignment const answers = await dexieStorage .answers - .where("activity") - .equals(_currentOfflineActivityId).toArray(); + .where({resource_url: _currentOfflineResourceUrl}) + .toArray(); console.dir(answers); for(const answer of answers) { fsProvider.createOrUpdateAnswer(answer); diff --git a/src/types.ts b/src/types.ts index ee76ecc8..b4734f12 100644 --- a/src/types.ts +++ b/src/types.ts @@ -269,7 +269,8 @@ export interface IAnonymousLearnerPluginState extends IAnonymousMetadataPartial export interface OfflineManifestActivity { name: string; - url: string; + resourceUrl: string; + contentUrl: string; } export interface OfflineManifest { name: string From 7de88f26a2a334c3e4de1161f8c93716fa9ebc77 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 13 Mar 2021 09:53:12 -0500 Subject: [PATCH 068/242] update readme with info about contentUrl --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index de6d78f9..a8e2b20d 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,7 @@ Inside of your `package.json` file: * activity={id|url}: load sample-activity {id} or load json from specified url * sequence={id|url}: load sample-sequence {id} or load json from specified url +* contentUrl={url}: override the activity parameter and load the activity content from this contentUrl instead. In this case the activity parameter is still used to make the resourceUrl which identifies the resource structure in the report-service. The computed resourceUrl is also used to identify the answers when running offline. * page={n|"page_[id]"}: load page n, where 0 is the activity introduction, 1 is the first page and [id] in "page_[id]" refers to an internal integer id of the page model exported from LARA. * themeButtons: whether to show theme buttons * mode={mode}: sets mode. Values: "teacher-edition" From 1810df0684d7dd89e2fc409572fce7c22eb02372 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 13 Mar 2021 10:17:04 -0500 Subject: [PATCH 069/242] use canonical hostname for default sourceKey this also switches the url parameter name from report-source to sourceKey --- README.md | 2 +- cypress/integration/opening-reports.test.ts | 2 +- src/portal-api.ts | 10 +++++----- src/utilities/report-utils.ts | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index a8e2b20d..604b4cf0 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ Inside of your `package.json` file: * firebaseApp={id}: override default firebase app. https://activity-player.concord.org/ and https://activity-player-offline.concord.org/ without a path, defaults to `report-service-pro` every other url defaults to `report-service-dev`. For example https://activity-player.concord.org/branch/foo will use `report-service-dev` by default. * token={n}: set by the portal when launching external activity, to authenticate with portal API * domain={n}: set by the portal when launching external activity -* report-source={id}: which source collection to save data to in firestore (defaults to own hostname) +* sourceKey={id}: which source collection to save data to in firestore (defaults to canonical hostname) * runkey={uuid}: set by the app if we are running in anonymous datasaving mode * preview: prevent running in anonymous datasaving mode * enableFirestorePersistence: uses local offline firestore cache only diff --git a/cypress/integration/opening-reports.test.ts b/cypress/integration/opening-reports.test.ts index 7d4a072d..3896d593 100644 --- a/cypress/integration/opening-reports.test.ts +++ b/cypress/integration/opening-reports.test.ts @@ -12,7 +12,7 @@ context("Test Opening Portal Reports from various places", () => { const activityStructureUrl = "https://example.com/activities/123"; const activityPlayerUrl = "?" + "activity="+activityExportUrl+ - "&report-source=authoring.staging.concord.org" + + "&sourceKey=authoring.staging.concord.org" + "&runKey="+runKey; before(() => { diff --git a/src/portal-api.ts b/src/portal-api.ts index 37d3d0bc..6bb0961d 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -419,12 +419,12 @@ export const fetchPortalData = async (opts: IFetchPortalDataOpts = fetchPortalDa const offeringData = await getOfferingData({portalJWT, rawPortalJWT, offeringId}); const [rawFirebaseJWT, firebaseJWT] = await getActivityPlayerFirebaseJWT(basePortalUrl, rawPortalJWT, classInfo.classHash); - // student data gets saved in different buckets of the DB, the "source," depending on the domain - // of the activity. + // student data gets saved in different buckets of the DB, the "source," depending on + // the canonical hostname. // This works fine, but for testing the activity player, we may want to load data that was previously - // saved in a different domain (e.g. authoring.concord.org), so we first check for a "url-source" + // saved in a different domain (e.g. authoring.concord.org), so we first check for a "sourceKey" // query parameter. - const sourceKey = queryValue("report-source") || parseUrl(offeringData.activityUrl.toLowerCase()).hostname; + const sourceKey = queryValue("sourceKey") || getCanonicalHostname(); const fullName = classInfo.students.find(s => s.id.toString() === portalJWT.uid.toString())?.fullName; @@ -479,7 +479,7 @@ export const anonymousPortalData = (preview: boolean) => { toolUserId: "anonymous", database: { appName: firebaseAppName(), - sourceKey: getCanonicalHostname() + sourceKey: queryValue("sourceKey") || getCanonicalHostname() } }; return rawPortalData; diff --git a/src/utilities/report-utils.ts b/src/utilities/report-utils.ts index 37be008f..fe8663b9 100644 --- a/src/utilities/report-utils.ts +++ b/src/utilities/report-utils.ts @@ -48,8 +48,8 @@ export const getReportUrl = () => { const activity = queryValue("activity"); const activityUrl = getResourceUrl(activity); const runKey = queryValue("runKey"); - // Sometimes the location of the answers is overridden with a report-source param - const answerSource = queryValue("report-source") || getCanonicalHostname(); + // Sometimes the location of the answers is overridden with a sourceKey param + const answerSource = queryValue("sourceKey") || getCanonicalHostname(); const sourceKey = activityUrl ? makeSourceKey(activityUrl) : getCanonicalHostname(); if (runKey) { From 2475e70e8ea17fd3bb0cf34e692c051cf77eb6f2 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 13 Mar 2021 21:05:20 -0500 Subject: [PATCH 070/242] the question ids in the resourceUrl need to match the ids in the contentUrl a question id mismatch is only seen when looking at the portal-report what really maters is the `activity` url parameter on the assignment in the portal, that is what the portal-report uses. but we'll want the resourceUrl here to match the activity parameter for when the student starts using the activity when working offline. --- src/public/offline-manifests/precipitatingchange-test-v1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/public/offline-manifests/precipitatingchange-test-v1.json b/src/public/offline-manifests/precipitatingchange-test-v1.json index 9a919b35..cd9511af 100644 --- a/src/public/offline-manifests/precipitatingchange-test-v1.json +++ b/src/public/offline-manifests/precipitatingchange-test-v1.json @@ -3,7 +3,7 @@ "activities": [ { "name": "Precipitating Change (TEST)", - "resourceUrl": "https://authoring.staging.concord.org/activities/20944", + "resourceUrl": "https://authoring.staging.concord.org/activities/20926", "contentUrl": "offline-activities/precipitatingchange-test-v1.json" } ], From bef946edcdee6c501e84889a52bcc76870a5fa8f Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 13 Mar 2021 23:32:41 -0500 Subject: [PATCH 071/242] use a single version this also changes the name of the database to avoid migration issues --- src/storage/dexie-storage.ts | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/src/storage/dexie-storage.ts b/src/storage/dexie-storage.ts index 9f51cf44..3df5a97a 100644 --- a/src/storage/dexie-storage.ts +++ b/src/storage/dexie-storage.ts @@ -3,7 +3,8 @@ import { OfflineActivity, LogMessage } from "../types"; import { IIndexedDBAnswer } from "./storage-facade"; // We need to ensure a version match between data stored and exported -export const kOfflineAnswerSchemaVersion = 4; +// version 5: switched from activity to resource_url field for identifing answers's activity +export const kOfflineAnswerSchemaVersion = 5; // Copy and pasted from the example: https://dexie.org/docs/Typescript export class DexieStorage extends Dexie { @@ -15,28 +16,16 @@ export class DexieStorage extends Dexie { pluginStates: Dexie.Table<{pluginId: number, state: string|null}>; constructor () { - super("ActivityPlayer"); - // FIXME: There is only one version for the whole database. - // calling version multiple times is how you can specify a schema for older - // versions of the database. - this.version(5).stores({ - logs: "++id, activity" - }); - this.version(kOfflineAnswerSchemaVersion).stores({ - answers: "id, resource_url, [resource_url+question_id]", - pluginStates: "&pluginId" - }); - this.version(3).stores({ - offlineActivities: "&resourceUrl" // unique by resourceUrl - }); - - // Once we fix the version issue, the following code can be used - // to clear the old tables since we don't need to worry about - // about the old data. I'm not sure what the return value should - // be to the upgrade callback - // .upgrade(tx => { - // return tx.table("offlineActivities").toCollection().delete(); - // }); + // the database was called ActivityPlayer, but changes to the offlineActivities + // primary key required deleting that table to upgrade it, so renaming + // the database was easier + super("ActivityPlayerDb"); + this.version(kOfflineAnswerSchemaVersion).stores({ + logs: "++id, activity", + answers: "id, resource_url, [resource_url+question_id]", + pluginStates: "&pluginId", + offlineActivities: "&resourceUrl" // unique by resourceUrl + }); } } From 603d4d831cee13e39260f13c3b907acbb5b1eb3a Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sun, 14 Mar 2021 16:27:28 -0400 Subject: [PATCH 072/242] hacky untyped fix for the duplicate answers problem The issue is that the AP code using the storage facade, doesn't update its own answer objects. It is counting on the storage facade to call its answerWatcher callback and then it updates the answer object. So the dexie provider needs to implement the answerWatcher better. The implementation here does does this watching within the current tab. It isn't using dexie observable or something similar to watch for changes across tabs. Also this code isn't supporting the unsubscribing of the watchers. It doesn't look like the AP code is calling this unsubscribe, in the normal case, but it should be. --- src/storage/storage-facade.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 05012e26..6fed923d 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -193,9 +193,11 @@ class FireStoreStorageProvider implements IStorageInterface { class DexieStorageProvider implements IStorageInterface { portalData: IPortalData|IAnonymousPortalData; haveFireStoreConnection: boolean; + answerWatchers: any; constructor(){ this.haveFireStoreConnection = false; + this.answerWatchers = {}; } async initializeDB (initializer: IDBInitializer) { @@ -212,6 +214,17 @@ class DexieStorageProvider implements IStorageInterface { const idxDBAnswer = answer as IIndexedDBAnswer; idxDBAnswer.activity = _currentOfflineActivityId; dexieStorage.answers.put(idxDBAnswer); + const activityAnswerWatchers = this.answerWatchers[_currentOfflineActivityId]; + if (!activityAnswerWatchers || !answer.question_id) { + return; + } + const questionAnswerWatchers = activityAnswerWatchers[answer.question_id]; + if (!questionAnswerWatchers) { + return; + } + questionAnswerWatchers.forEach((callback:any) => { + callback(docToWrappedAnswer(answer)); + }); } getPortalData() { @@ -246,6 +259,20 @@ class DexieStorageProvider implements IStorageInterface { }); }; + let activityAnswerWatchers = this.answerWatchers[_currentOfflineActivityId]; + if (!activityAnswerWatchers) { + activityAnswerWatchers = {}; + this.answerWatchers[_currentOfflineActivityId] = activityAnswerWatchers; + } + + let questionAnswerWatchers = activityAnswerWatchers[questionId]; + if (!questionAnswerWatchers) { + questionAnswerWatchers = []; + activityAnswerWatchers[questionId] = questionAnswerWatchers; + } + + questionAnswerWatchers.push(callback); + getAnswerFromIndexDB(questionId).then( (answer: IIndexedDBAnswer|null) => { if (answer) { callback(docToWrappedAnswer(answer)); From 634ccd89d0fa4c181d873b241777641f820de17f Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sun, 14 Mar 2021 23:53:08 -0400 Subject: [PATCH 073/242] add multi activity manifest to demo precipitating change the manifest doesn't have a cacheList yet --- .../lesson-4-post-v1.json | 217 +++ .../lesson-4-pre-v1.json | 167 +++ .../lesson-4-v1.json | 737 ++++++++++ .../lesson-5-post-v1.json | 217 +++ .../lesson-5-pre-v1.json | 167 +++ .../lesson-5-v1.json | 1193 +++++++++++++++++ .../staging-precipitating-change-v1.json | 37 + 7 files changed, 2735 insertions(+) create mode 100644 src/public/offline-activities/staging-precipitating-change/lesson-4-post-v1.json create mode 100644 src/public/offline-activities/staging-precipitating-change/lesson-4-pre-v1.json create mode 100644 src/public/offline-activities/staging-precipitating-change/lesson-4-v1.json create mode 100644 src/public/offline-activities/staging-precipitating-change/lesson-5-post-v1.json create mode 100644 src/public/offline-activities/staging-precipitating-change/lesson-5-pre-v1.json create mode 100644 src/public/offline-activities/staging-precipitating-change/lesson-5-v1.json create mode 100644 src/public/offline-manifests/staging-precipitating-change-v1.json diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-4-post-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-4-post-v1.json new file mode 100644 index 00000000..c977c124 --- /dev/null +++ b/src/public/offline-activities/staging-precipitating-change/lesson-4-post-v1.json @@ -0,0 +1,217 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "AP - Lesson 4: Alaska Mainland 2 Post - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": 5, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308636, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What Are the Rules for Fronts and Precipitation?", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\n\u003Ctable cellpadding=\"30\"\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\n\u003C/tr\u003E\n\u003C/tbody\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd width=\"88\"\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\n\u003Ctd width=\"88\"\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\n\u003C/tr\u003E\n\u003C/tbody\u003E\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272937-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"4\",\"content\":\"Sage\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1954-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EWhy do you agree with that student\u0026rsquo;s idea the most? Please explain your reasoning.\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1955-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Post-Assessment Implementation\\n*Lesson 4, Conclusion: What Are The Rules For Fronts and Precipitation? Post-Assessment*\\nDuring the post-assessment, each student will view the probe, make an individual choice, and enter an individual explanation. However, students can work in pairs to discuss their choices and explanations. Student pairs do not have to agree. After students submit their responses, lead a discussion and engage the class in talking about some of the issues described below. Try to get the class to come to consensus about which is the best response. If needed, help the class understand why some responses are better than others.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4252-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4253-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4254-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }], + "plugins": [], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-4-pre-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-4-pre-v1.json new file mode 100644 index 00000000..2e801080 --- /dev/null +++ b/src/public/offline-activities/staging-precipitating-change/lesson-4-pre-v1.json @@ -0,0 +1,167 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "AP - Lesson 4: Alaska Mainland 2 Pre - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": 5, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308631, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What Are the Rules for Fronts and Precipitation?", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\n\u003Ctable cellpadding=\"30\"\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\n\u003C/tr\u003E\n\u003C/tbody\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd width=\"88\"\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\n\u003Ctd width=\"88\"\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\n\u003C/tr\u003E\n\u003C/tbody\u003E\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272932-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"4\",\"content\":\"Sage\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1946-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4239-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4240-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4241-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }], + "plugins": [], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-4-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-4-v1.json new file mode 100644 index 00000000..b80294b6 --- /dev/null +++ b/src/public/offline-activities/staging-precipitating-change/lesson-4-v1.json @@ -0,0 +1,737 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "AP - Lesson 4: Alaska Mainland 2 - Building Rules", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": 40, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308632, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.\u003C/p\u003E\n\u003Cp\u003EExample: This rule has two parts that must happen to have a certain result. If it was a [ \u003Cstrong\u003Every nice summer\u003C/strong\u003E ] and if it is [ \u003Cstrong\u003EAugust\u003C/strong\u003E ], then there will be [ \u003Cstrong\u003Elots of berries to pick\u003C/strong\u003E ].\u0026nbsp;\u003C/p\u003E\n\u003Cp style=\"text-align: justify;\"\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg\" alt=\"\" width=\"472\" height=\"221\" /\u003E\u003C/p\u003E\n\u003Cp\u003EThink about developing a similar statement that could be used to determine where it will rain.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272933-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 4: BUILDING RULES\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students develop a rule for where it will rain and test their rule using a Virtual Model. This lesson supports students to build their understanding of how observations of natural phenomena (weather) can be generalized (rule abstraction) for computational modeling (rule testing and rule refinement) and predictive purposes. This lesson introduces new technology, a Virtual Model, that allows students to test rules with the dataset they have been exploring in Lesson 3. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n\\n\\nComputational thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | CT Skill Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students develop a general statement to answer the question, \\\"Where does it rain?\\\" |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed. | Students make a generic statement to answer, \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual Model activity|\\n| Rule Refinement | Modifying a rule to be more precise to work in the model. Precise (exact, careful about details) | The Virtual Model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4242-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (45 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Activity 1 - Rule Abstraction Conversation (20 mins)\\n\\n**Activity 2 - Refining and Testing Rules using a Virtual Model (25 mins)\\n\\n### MATERIALS AND SET-UP\\n\\nPer Student:\\n\\n* Science Notebooks\\n* Access to Student Online Activities\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4243-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 4.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4244-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308633, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 1 - Rule Abstraction", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EVIRTUAL STORM: RULE ABSTRACTION CONVERSATION\u003C/p\u003E\n\u003Cp\u003EYour task is to take a deeper look at your data and start summarizing the patterns that you see with the goal of writing a one-sentence statement that brings together the most important patterns to answer the question, \u0026ldquo;Where does it rain?\u0026rdquo;.\u003C/p\u003E\n\u003Cp\u003ELet's start by looking at the data you recorded on your Storm Tracker sheet for 3pm in your Science Notebook (page 12).\u003C/p\u003E\n\u003Cp\u003EWork within your research team and circle the areas where you think it will rain based on temperature data.\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4StormTracker7pm.png\" width=\"444\" height=\"444\" /\u003E\u003C/p\u003E\n\u003Cp\u003ENow let's look at the Weather Map of the Alaska area at 7pm (see below). Work with your research team to find patterns that could help you identify where it will rain.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WeatherMAPB.jpg\" alt=\"\" width=\"750\" height=\"583\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272934-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EDiscuss with your research team where you expect it will rain at 7 pm on the Weather Map based on the patterns that you saw for 3 pm. Describe below where you think it will rain.\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1947-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EWrite a general statement that answers the question, \u0026ldquo;Where does it rain?\u0026rdquo; Use the pattern charts and your weather map to create your statement.\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1948-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1 - Rule Abstraction\\n\\nStudents create a relational statement explaining where it is raining. The specific computational thinking practices highlighted and practiced in this activity are **Rule Abstraction**, **Rule Testing**, and **Rule Refinement**. We anticipate that this conversation is going to require heavy scaffolding to get students acquainted and comfortable with writing rules. Efforts here will pay off later in Lessons 5 when students must write additional rules for other weather phenomena.\\n\\n**1. Abstracting a rule.**\\n\\n* Introduce the task of writing a one-sentence statement that brings together the most important patterns to answer the question, \u201cWhere does it rain?\u201d \\n\\n**2. Gathering more information.**\\n\\n* Have students look at their Virtual Storm Tracker in their Science Notebook on page 12 and circle where they think it will rain at \\n 7 pm, using temperature only.\\n\\n* Have students look at the Weather Map 7 pm with Precipitation \u0026 Air Moisture Content in their Science Notebook on page 17 and discuss with their research teams where you think it will rain with this new information. \\n\\n* Once they have decided on where they think it will rain, direct students to enter their answer to the question in the appropriate place on this page. \\n\\n**3. Introduce rule abstraction.** Rule Abstraction is creating a general statement derived from exploring patterns in data in order to establish rule(s), principles, or insights that may be generalized to other contexts. This is the first step in creating a rule in order to make a simulation on a computer. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4245-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Drafting Rule Statements\\n\\n* In Lesson 3, students started to see relational connections between the weather variables for 3 pm and may or may not be able to fully articulate their current thinking. To help students develop a stronger voice and build a statement, they are asked to apply their understandings to another time step (7 pm). By applying their thinking at two different time steps, students validate their ideas and develop more formalized ideas on how they think the weather variables relate to each other. \\n\\n* Advise students to try to merge ideas from what they learned in Lessons 2 and 3. \\n\\n* Ask students to be selective in what patterns they think are strongest in explaining precipitation. \\n\\n* Explain to students that they just did something that weather scientists do called Rule Abstraction (creating a general statement derived from exploring patterns in data in order to establish rule(s), principles or insights that may be generalized to other contexts). This is the first step in creating a rule in order to make a simulation on a computer. \\n\\n\\n**Teacher Note**: While statements will vary in construction, level of detail, and even correctness, check in with teams to ensure that statements include some notion of both air moisture content AND temperature being important drivers of whether it will rain. If a team is stuck on one variable or the other, you might point out to them places on the Weather Map posters where their statement fails to hold true. For example, if students are ignoring air moisture, draw their attention to a place on the map where the temperature is warm but it\u2019s not raining.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4246-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308634, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 1 - Rule Abstraction (continued)", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.\u003C/p\u003E\n\u003Cp\u003ETo make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.\u003C/p\u003E\n\u003Cp\u003EYou can practice making more specific rule statements by answering the questions below and testing them using the model.\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272935-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"A\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"B\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"C\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"\u003Cp\u003EUsing the following rule, which pair of grid squares (A, B, or C) will produce rain?\u0026nbsp;\u003C/p\u003E\\r\\n\u003Cp\u003E\u003Cimg class=\\\"\\\" style=\\\"display: block; margin-left: auto; margin-right: auto;\\\" src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png\\\" alt=\\\"\\\" width=\\\"70\\\" height=\\\"72\\\" /\u003E\u003Cbr /\u003EIF the upper square (the northwest square)\u0026nbsp;\u0026nbsp;is colder than the lower square by at least [ \u003Cstrong\u003E\u003Cspan style=\\\"text-decoration: underline;\\\"\u003E5 degrees\u003C/span\u003E\u003C/strong\u003E ] AND IF the moisture of the lower square is at least [ \u003Cstrong\u003E\u003Cspan style=\\\"text-decoration: underline;\\\"\u003E7\u003C/span\u003E\u003C/strong\u003E ] THEN it rains in the lower square.\u003C/p\u003E\\r\\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\\r\\n\u003Cp\u003E\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD\\\" width=\\\"424\\\" height=\\\"182\\\" /\u003E\u003C/p\u003E\\r\\n\u003Cp\u003EWhich square will have rain according to this rule?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1949-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308635, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 2 - Testing the Rules with a Virtual Model ", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPress \u003Cstrong\u003ESetup\u003C/strong\u003E and then \u003Cstrong\u003ERun\u003C/strong\u003E. Explore all the features of this model. Discuss with your research team what each feature shows you.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cbr /\u003EAfter you have explored the model, refine your precipitation rule until you have found the best fit between the actual precipitation and the precipitation predicted by the rule. Test your rule with all of the data sets.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "272936-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EWhat\u0026rsquo;s the best rule to fit the actual precipitation?\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1950-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EDid your rule fit the actual precipitation perfectly for all data sets?\u0026nbsp; Please explain why or why not.\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1951-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EFor a weather model, list as many reasons as you can think of for why a rule might not predict the actual data perfectly.\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1952-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EWhat is your final rule statement that answers the question, \\\"Where does it rain?\\\"\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1953-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Refining and Testing a Rule with a Virtual Model\\n\\n**Objective:** To deepen students\u2019 understanding of rule refinement with a virtual model that makes it easy to experiment with two varying quantities -- temperature difference and air moisture content. Students use this understanding to solve the challenge of finding the best rule that predicts where precipitation occurs.\\n \\n**1. Encourage students to explore the model.** Ask students to explore all the features of the model. When experimenting with setting rule values, they should try the extreme settings (maximums and minimums) as well as more moderate settings. After 5 to 10 minutes of independent work, let them **tell you** what they have discovered. They might find: \\n\\n* Weather data for five different times with each data set separated by four hours. \\n* Grid squares showing moisture in the upper right corner and temperature in the lower left. \\n* Actual rainfall indicated with the light blue drops. \\n* When \\\"show-results-of-the-rules?\\\" is selected, check marks show which parts of the rule are true. \\n* Check marks appear for each part of the rule when true: orange check for the temperature difference rule and green checks for the moisture rule.\\n* The \\\"Show Rain with these Rules\\\" button displays dark blue drops only where both the temperature difference rule and the moisture rule are true. \\n\\nA short discussion about the following, might be valuable before students go on to the challenge.\\n* Why are there no check marks on the top and left side of the grid? (The temperature rule can\u2019t be calculated because there is no square to the northwest in those rows.)\\n* Is there a rule that makes it rain everywhere (not counting the top and left rows)? Or nowhere?\\n* How did you explore the rules? \\n* How did you test them? \\n* What did you learn? (See if students found a technique for exploring the model. Students might benefit from hearing each other\u2019s strategies.)\\n\\n**2. Challenge: Find the best rule.** Remind students that they are pursuing this question, \\\"Where does it rain?\\\" Or more specifically, \\\"What conditions of temperature and moisture result in rain?\\\" \\n\\nHave students test their rule to find the best fit between the real data (light blue) and the data produced by the rule (dark blue) for the five different times (7 am, 11 am, 3 pm, 7 pm, and 11 pm). They will record their findings in the questions that follow the model.\\n\\nNotes: Try to let students discover that there is no perfect rule. That is, even the best rule may make rain in a square or two that had none or produce rain where there was none. Students will have to work through this. If they find it frustrating, let them know the rule doesn\u2019t need to be perfect. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4247-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Lead a class discussion at the end of the activity. Please see possible discussion points below:\\n\\n* Did working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\n* Would the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\n* Do you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\n* Even if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nDid working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\nWould the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\nDo you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\nEven if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nOptional discussion question, if you have time:\\nThe 7am, 11am, 3pm, and 7pm data matches the Virtual Storm event that you created in Lesson 2 and in Lesson 3. Is the rule that you developed in this activity different than the one in Lesson 3. How have they changed?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4248-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Alaskan Native Thoughts on Climate Change\\\", The International Polar Year, Sep 2, 2008, Run Time:02:09, http://www.ipy.org/index.php?/ipy/multimedia/\u0026view=1869\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4249-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Passport To Knowledge: Polar Palooza\\\", http://passporttoknowledge.com/polar-palooza/video/native01a.mp4\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4250-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this tutorial to learn how students will be interacting with the Virtual Model to test and refine their rule statements to answer the question, \\\"Where does it rain?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: Where Does It Rain?, 2019, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4251-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 800, + "native_width": 800, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/precip-rule-ak-v5.html", + "type": "MwInteractive", + "ref_id": "210925-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }], + "plugins": [], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-5-post-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-5-post-v1.json new file mode 100644 index 00000000..62976990 --- /dev/null +++ b/src/public/offline-activities/staging-precipitating-change/lesson-5-post-v1.json @@ -0,0 +1,217 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "AP - Lesson 5: Alaska Mainland 2 - Post - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": 5, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308621, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "How Should We Break It Down?", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying weather. The students will make a computer model to predict weather in Alaska. They need to break Alaska into smaller chunks of area so their model can use information (data) about each chunk to predict the weather. Four students have different ideas about what size the chunks should be.\u0026nbsp;Alaska is approximately 663,00 square miles. The map below shows Alaska with a grid that divides the map into squares.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska200grid.jpg\" alt=\"\" width=\"557\" height=\"510\" /\u003E\u003C/p\u003E\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\n\u003Ctable cellpadding=\"30\"\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex5.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\n\u003Cp\u003EWe need to include as much data as possible so our model will be accurate. Let\u0026rsquo;s break Alaska down into chunks that are each one square yard in size (three feet on each side).\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/3ftx3ft.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana5.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\n\u003Cp\u003EWe want to predict weather for villages, so our chunks should be about the size of an Alaska village. Let\u0026rsquo;s make chunks that are each a square mile (5,280 feet on each side).\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/1milex1mile.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003C/tr\u003E\n\u003C/tbody\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd width=\"88\"\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin5.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\n\u003Cp\u003EThe chunks can be even bigger because there\u0026rsquo;s space in between villages. Let\u0026rsquo;s break Alaska down into chunks that are each 20 miles by 20 miles in size.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/20milesx20miles.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd width=\"88\"\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\n\u003Cp\u003EIf we use 20 miles by 20 miles, we\u0026rsquo;ll have over 1,500 chunks for Alaska. That\u0026rsquo;s a lot. Let\u0026rsquo;s use 200 miles by 200 miles so we\u0026rsquo;ll only need about 16 chunks.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/200milesx200miles.png\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003C/tr\u003E\n\u003C/tbody\u003E\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272918-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"4\",\"content\":\"Sage\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1930-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EWhy do you agree with that student\u0026rsquo;s idea the most? Please explain your reasoning.\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1931-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Post-Assessment Implementation\\n*Lesson 5, Conclusion: How Should We Break It Down? Post-Assessment*\\nDuring the post-assessment, each student will view the scenario again and make a new individual choice, and enter an individual explanation. However, students can work in pairs to discuss their choices and explanations. Student pairs do not have to agree. After students submit their responses, you can lead a discussion and engage the class in talking about some of the issues described below. You should work to lead the class to come to a consensus about which is the best response. Ideally, the students should come to a consensus. If needed, though, you should help the class understand why some responses are better than others.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4223-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Decomposition\\n* Data Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. We suggest you review the information below and think about ways to scaffold students toward developing **knowledge and practice** as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms such as **decomposition** or **data abstraction**. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **decomposition**, which is *breaking down data, processes, or problems into smaller components and manageable parts so they can be more easily solved.*\\n\\nIn particular, the probe addresses physical decomposition of a system, which involves *dividing a continuous representation of a system into smaller, discrete parts.* In computational modeling, *physical decomposition makes it possible to apply values to various parameters in each small part (cell) of the model domain, which in turn makes it possible to apply mathematical approaches to the problem.*\\n\\nAt the broader level, this type of discretization is an example of the computational thinking concept of **data abstraction**. Abstraction *involves letting one object stand for many by \u201ccapturing essential properties common to a set of objects while hiding irrelevant distinctions among them\u201d* (Wing, 2014, http://socialissues.cs.toronto.edu/index.html%3Fp=279.html). When we divide the Alaska map into cells, we are stripping away a lot of information about each cell (e.g., how many trees or houses are in that area) so that we can focus on just the pieces of information we need for addressing our particular problem (in this case, we will want to understand some other things about each cell at certain points in time to help us predict the weather, i.e., the temperature of the air, the wind speed and direction, the humidity level in each cell). \\n\\nThis assessment is situated within the unit context to provide an opportunity for students to make sense about decomposition of a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about the pros and cons of using different sized chunks for predicting weather. This is the kind of real-world problem that weather modelers need to think about as they do their work. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4224-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about decomposition.\\n\\n###Less Formal Ideas\\n\u2022\\t**Alex\u2019s response (3 feet by 3 feet chunks)** is probably too small for this problem. A model decomposed into cells of this size over the state of Alaska would require a very large amount of interpolation because, of course, there are not that many weather stations available to provide observed data for each cell (although satellites could potentially collect this data over land surfaces). Assuming data come from weather stations though, a model composed of one square yard sized cells would provide a false level of accuracy based on an insufficient amount of data for understanding weather at that scale. In addition, this model would require a great deal of computing power. It would take a lot of time and energy for the model to process all the data, and because so much of the data will need to be interpolated, the results will not really be trustworthy at the scale of one square yard.\\n\\nSome students might find Alex\u2019s response appealing because they think it is important to be very accurate with a computer model and/or because they think computer models have the capacity to make very accurate predictions. These students could use support in understanding that computer model outputs are based on computer model inputs. With relatively few data inputs from weather stations compared to the outputs (predictions at the level of each square yard. Alex\u2019s model will not be able to perform very well. \\n\\n\u2022\\t**Sage\u2019s response (200 miles by 200 miles chunks)** will not provide enough detail for Alaskans to make the decisions they need to make related to the weather. The map below shows an area of about 200 by 200 miles. If this area were used for the weather model, then it would not be possible to give people in Port Lay a separate weather prediction than people in Utqiagvik. While Alex and Delana\u2019s responses have problems with false accuracy, Sage\u2019s response has problems with insufficient precision for the real-world problem (predicting the weather at a scale that will be useful for people in different villages and towns). \\n\\nStudents who choose Sage\u2019s response may think there is a need to enter actual data (i.e., from a weather station) for every cell in a computer model. These students could benefit from discussions that connect this assessment probe to the idea of interpolation \u2013 we don\u2019t necessarily need to enter data for every single cell in a computer model. Much of the data can be interpolated. If we didn\u2019t have the capacity to interpolate data, then Sage would be right, - it would be a whole lot of work to make a computer model for Alaska, even at the scale of 20 by 20 mile cells. Interpolation helps solve this problem (within limits of course, because if we interpolate too much data we end up with the problems associated with Alex\u2019s and Delana\u2019s models). \\n\\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/200x200milechunkofAlaska.png\\\" width=\\\"300\\\" height=\\\"300\\\" /\u003E\\n\\n\\n###Middle Level \\n\u2022\\t**Delana\u2019s response (1 mile by 1 mile chunks)** is also probably too small for the problem. There would be approximately 663,000 cells in this model. Because of the number of cells, a lot of the data for this model would need to be interpolated. There is not necessarily a need for weather information at this fine-grained scale. While less so than Alex\u2019s response, this model would still have problems with too much interpolation leading to a false level of accuracy at the square mile scale and an excessive amount of computing power needed.\\n\\nDelana\u2019s response shows that she\u2019s doing important thinking about the scale of information that is needed by the audience for the model (i.e., people living in villages and towns). Students often think about computer models and their outputs in terms of what can be shown or seen. While visualizations are an important output of computer models, students can also use support in developing deeper understandings about the need for sufficient data and appropriate processing algorithms for a computer model to show something. Students often think about computer models as black boxes that do something mysterious and then provide an answer. Over the course of the unit, students should develop deeper understanding of how data and rules (algorithms) are the guts of the computer model that help modelers use the model to explain and predict things like weather. \\n\\n\\n###More Formal Ideas\\n\u2022\\t**Kalin\u2019s answer (20 miles by 20 miles chunks)** provides the ability to process data at a reasonable scale for an area as large as the state of Alaska. There would be approximately 1650 cells in this model. If the chunks were much bigger, it would not be possible to process and provide information at a small enough scale for what is needed in terms of weather information for individual villages, towns, and cities. If the chunks were much smaller, they would be subject to the same problems associated with Alex\u2019s and Delana\u2019s responses.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4225-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }], + "plugins": [], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-5-pre-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-5-pre-v1.json new file mode 100644 index 00000000..41a793fa --- /dev/null +++ b/src/public/offline-activities/staging-precipitating-change/lesson-5-pre-v1.json @@ -0,0 +1,167 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "AP - Lesson 5: Alaska Mainland 2 - Pre - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson1.png", + "time_to_complete": 5, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308630, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "How Should We Break It Down?", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying weather. The students will make a computer model to predict weather in Alaska. They need to break Alaska into smaller chunks of area so their model can use information (data) about each chunk to predict the weather. Four students have different ideas about what size the chunks should be.\u0026nbsp;Alaska is approximately 663,000 square miles. The map below shows Alaska with a grid that divides the map into squares.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska200grid.jpg\" alt=\"\" width=\"557\" height=\"510\" /\u003E\u003C/p\u003E\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\n\u003Ctable cellpadding=\"30\"\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex5.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\n\u003Cp\u003EWe need to include as much data as possible so our model will be accurate. Let\u0026rsquo;s break Alaska down into chunks that are each one square yard in size (three feet on each side).\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/3ftx3ft.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana5.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\n\u003Cp\u003EWe want to predict weather for villages, so our chunks should be about the size of an Alaska village. Let\u0026rsquo;s make chunks that are each a square mile (5,280 feet on each side).\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/1milex1mile.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003C/tr\u003E\n\u003C/tbody\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd width=\"88\"\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin5.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\n\u003Cp\u003EThe chunks can be even bigger because there\u0026rsquo;s space in between villages. Let\u0026rsquo;s break Alaska down into chunks that are each 20 miles by 20 miles in size.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/20milesx20miles.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd width=\"88\"\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\n\u003Cp\u003EIf we use 20 miles by 20 miles, we\u0026rsquo;ll have over 1,500 chunks for Alaska. That\u0026rsquo;s a lot. Let\u0026rsquo;s use 200 miles by 200 miles so we\u0026rsquo;ll only need about 16 chunks.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/200milesx200miles.png\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\n\u003C/td\u003E\n\u003C/tr\u003E\n\u003C/tbody\u003E\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272931-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"4\",\"content\":\"Sage\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1945-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 5, Opening: How Should We Break It Down? Pre-Assessment*\\nDuring the pre-assessment, each student will view the scenario above and make an individual choice. The request for an explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, you can lead the discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4236-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Decomposition\\n* Data Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. We suggest you review the information below and think about ways to scaffold students toward developing **knowledge and practice** as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms such as **decomposition** or **data abstraction**. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **decomposition**, which is *breaking down data, processes, or problems into smaller components and manageable parts so they can be more easily solved.*\\n\\nIn particular, the probe addresses physical decomposition of a system, which involves *dividing a continuous representation of a system into smaller, discrete parts.* In computational modeling, *physical decomposition makes it possible to apply values to various parameters in each small part (cell) of the model domain, which in turn makes it possible to apply mathematical approaches to the problem.*\\n\\nAt the broader level, this type of discretization is an example of the computational thinking concept of **data abstraction**. Abstraction *involves letting one object stand for many by \u201ccapturing essential properties common to a set of objects while hiding irrelevant distinctions among them\u201d* (Wing, 2014, http://socialissues.cs.toronto.edu/index.html%3Fp=279.html). When we divide the Alaska map into cells, we are stripping away a lot of information about each cell (e.g., how many trees or houses are in that area) so that we can focus on just the pieces of information we need for addressing our particular problem (in this case, we will want to understand some other things about each cell at certain points in time to help us predict the weather, i.e., the temperature of the air, the wind speed and direction, the humidity level in each cell). \\n\\nThis assessment is situated within the unit context to provide an opportunity for students to make sense about decomposition of a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about the pros and cons of using different sized chunks for predicting weather. This is the kind of real-world problem that weather modelers need to think about as they do their work. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4237-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about decomposition.\\n\\n###Less Formal Ideas\\n\u2022\\t**Alex\u2019s response (3 feet by 3 feet chunks)** is probably too small for this problem. A model decomposed into cells of this size over the state of Alaska would require a very large amount of interpolation because, of course, there are not that many weather stations available to provide observed data for each cell (although satellites could potentially collect this data over land surfaces). Assuming data come from weather stations though, a model composed of one square yard sized cells would provide a false level of accuracy based on an insufficient amount of data for understanding weather at that scale. In addition, this model would require a great deal of computing power. It would take a lot of time and energy for the model to process all the data, and because so much of the data will need to be interpolated, the results will not really be trustworthy at the scale of one square yard.\\n\\nSome students might find Alex\u2019s response appealing because they think it is important to be very accurate with a computer model and/or because they think computer models have the capacity to make very accurate predictions. These students could use support in understanding that computer model outputs are based on computer model inputs. With relatively few data inputs from weather stations compared to the outputs (predictions at the level of each square yard. Alex\u2019s model will not be able to perform very well. \\n\\n\u2022\\t**Sage\u2019s response (200 miles by 200 miles chunks)** will not provide enough detail for Alaskans to make the decisions they need to make related to the weather. The map below shows an area of about 200 by 200 miles. If this area were used for the weather model, then it would not be possible to give people in Port Lay a separate weather prediction than people in Utqiagvik. While Alex and Delana\u2019s responses have problems with false accuracy, Sage\u2019s response has problems with insufficient precision for the real-world problem (predicting the weather at a scale that will be useful for people in different villages and towns). \\n\\nStudents who choose Sage\u2019s response may think there is a need to enter actual data (i.e., from a weather station) for every cell in a computer model. These students could benefit from discussions that connect this assessment probe to the idea of interpolation \u2013 we don\u2019t necessarily need to enter data for every single cell in a computer model. Much of the data can be interpolated. If we didn\u2019t have the capacity to interpolate data, then Sage would be right, - it would be a whole lot of work to make a computer model for Alaska, even at the scale of 20 by 20 mile cells. Interpolation helps solve this problem (within limits of course, because if we interpolate too much data we end up with the problems associated with Alex\u2019s and Delana\u2019s models). \\n\\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/200x200milechunkofAlaska.png\\\" width=\\\"300\\\" height=\\\"300\\\" /\u003E\\n\\n\\n###Middle Level \\n\u2022\\t**Delana\u2019s response (1 mile by 1 mile chunks)** is also probably too small for the problem. There would be approximately 663,000 cells in this model. Because of the number of cells, a lot of the data for this model would need to be interpolated. There is not necessarily a need for weather information at this fine-grained scale. While less so than Alex\u2019s response, this model would still have problems with too much interpolation leading to a false level of accuracy at the square mile scale and an excessive amount of computing power needed.\\n\\nDelana\u2019s response shows that she\u2019s doing important thinking about the scale of information that is needed by the audience for the model (i.e., people living in villages and towns). Students often think about computer models and their outputs in terms of what can be shown or seen. While visualizations are an important output of computer models, students can also use support in developing deeper understandings about the need for sufficient data and appropriate processing algorithms for a computer model to show something. Students often think about computer models as black boxes that do something mysterious and then provide an answer. Over the course of the unit, students should develop deeper understanding of how data and rules (algorithms) are the guts of the computer model that help modelers use the model to explain and predict things like weather. \\n\\n\\n###More Formal Ideas\\n\u2022\\t**Kalin\u2019s answer (20 miles by 20 miles chunks)** provides the ability to process data at a reasonable scale for an area as large as the state of Alaska. There would be approximately 1650 cells in this model. If the chunks were much bigger, it would not be possible to process and provide information at a small enough scale for what is needed in terms of weather information for individual villages, towns, and cities. If the chunks were much smaller, they would be subject to the same problems associated with Alex\u2019s and Delana\u2019s responses.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4238-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }], + "plugins": [], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-5-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-5-v1.json new file mode 100644 index 00000000..4fe59b2b --- /dev/null +++ b/src/public/offline-activities/staging-precipitating-change/lesson-5-v1.json @@ -0,0 +1,1193 @@ +{ + "description": "\u003Cp\u003EIdentifying Air Masses: Where does the air come from?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "AP - Lesson 5: Alaska Mainland 2 - Identifying Air Masses", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "time_to_complete": 90, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308622, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the\u0026nbsp;weather\u0026nbsp;- wind! The direction of the wind can give you clues about what\u0026nbsp;weather\u0026nbsp;to expect. And when the wind changes its direction drastically, interesting\u0026nbsp;weather\u0026nbsp;events can happen.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003EIn this lesson you will explore how air masses interact by\u0026nbsp;setting up a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more\u0026nbsp;weather\u0026nbsp;stations. In your Science Notebook, go to Lesson 5 to locate the following information:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Map with Additional Weather Stations and Data Tables\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Readings \u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;0 Alaskan Stations 7 am Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272919-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 5: IDENTIFYING AIR MASSES\\n\\n**WHERE DOES THE AIR COME FROM?**\\n\\nIn this lesson, students investigate the role that wind plays in determining the weather and are introduced to ways to identify and define an air mass. Air masses have a similar range of weather variables (temperature and moisture), have indistinct boundaries, and are categorized by the range of weather variables within them. The air within an air mass is constantly moving and precipitation can occur where air from different air masses mixes/interacts. Scientists use models to predict where precipitation will occur based on where different air masses interact, the type of air in each, and the movement of that air.\\n\\nTo begin to identify air masses, students will do a hands-on wind table activity, and get new temperature, air moisture content, and wind direction data for five additional weather stations. As in Lesson 4, the students once again construct a set of rules through a series of activities that allow them to uncover patterns in the data, investigate the mechanisms for these patterns, and abstract a rule that describes the relationship between wind direction, its associated air mass, and the resulting precipitation. \\n\\n###LEARNING GOALS\\nStudents will be able to:\\n\\n* Identify and define an air mass\\n\\n* Explain that air masses are defined by where they come from\\n\\n* Explain the role of wind in weather events\\n\\n* Identify where on a map two different masses are interacting/mixing\\n\\n* Develop a rule for how wind moves and test the rule with multiple kinds of air masses\\n\\n* Develop a rule to express the relationship between weather components (temperature and moisture) and air masses\\n\\nComputational Thinking (CT) skills introduced in this lessons can be found in the table below:\\n\\n| CT Skill | Definition |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed |\\n| Rule Testing | Investigating whether a rule will still be true in different situations |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model |\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4226-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (90 mins)\\n\\n**Key Activities:**\\n\\nLesson 5: Alaska Mainland - Identifying Air Masses\\n\\n* Activity 1- What is an Air Mass (45 mins)\\n\\n* Activity 2 - What happens when air masses collide (10 mins)\\n\\n* Activity 3 - How do air masses affect precipitation? (25 mins)\\n\\n* Post-Assessment - What Are the Rules for Fronts and Precipitation? (10 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - What is an Air Mass?\\n\\nPer Research Team:\\n\\n* Direct students to Lesson 5 in their Science Notebooks to find the following information:\\n * Lesson 5, Activity 1: Wind Table Instructions and Questions\\n * Lesson 5, Activity 2: Additional Weather Station Data\\n * Lesson 5, Activity 2: Weather Stations 7 pm Readings\\n * Lesson 5, Activity 2: Weather Stations 7 pm Interpolated\\n * Lesson 5, Activity 2: 7 pm Weather Station Data and 7 pm Radar Map\\n * Lesson 5, Activity 2: 7 am Weather Station Data \\n\\nPer Class:\\n\\n* Set up on one demonstration table that students can gather around: a wind fan, a piece of paper with a wind rose taped to the table, and a single weather vane. See below for a top-down view. \\n\\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5WIndTablesTopDownView1.jpg\\\" width=\\\"400\\\" height=\\\"350\\\"\u003E\\n\\n* To print the wind rose, click [here](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg) to download. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4227-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 5.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4228-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308623, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": " Activity 1 - What is an air mass?", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EMeasuring Wind with the Compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EOne way wind direction\u0026nbsp;can be measured is with\u0026nbsp;a weather\u0026nbsp;vane or air socks. When the wind blows, the\u0026nbsp;weather\u0026nbsp;vane rotates and lines up with the path the air is flowing. So,\u0026nbsp;wind direction\u0026nbsp;is determined by what direction the wind is blowing and measured in degrees (\u0026deg;).\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg\" alt=\"\" width=\"323\" height=\"328\" /\u003E\u003C/p\u003E\n\u003Cp\u003EIn this activity, you will use a Wind Table to map the movement of air on a grid representing a region in Alaska. Go to your Science Notebooks, Lesson 5, page 21, for further instructions and to record your observations.\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EWind Table\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png\" width=\"576\" height=\"510\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272920-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"\\n###Activity 1 - **What is an Air Mass?**\\nIn this activity students explore the patterns of air movement within and between air masses. Using a hands-on \u201cwind table,\u201d they engage in a tangible interaction with wind. By leveraging patterns from the previous activity dataset and the wind table, they will discover that when two air masses meet, the air converges. Weather scientists refer to these regions as fronts. \\n\\n###Wind Table Directions\\n * **1.Introduce the Wind Table.** Wind is one of the first things that atmospheric scientists look at when investigating the weather, but it can be difficult to understand by just looking at data and maps. A hands-on model is helpful to investigate a phenomenon like the wind.\\n\\n\\n * **2.Assign teams:** Assign research teams a Wind Table position number, either #1 or #2. \\n * **3.Wind tunnel position:** Have students place wind tunnel #1 and wind tunnel #2 according to the diagram in their Science Notebook for their assigned Team #.\\n * **4.Reminders:** Read over the things to keep in mind on page 21 in the Science Notebook, together as a class:\\n * **BE CAREFUL NOT TO PUT YOUR FINGERS NEAR THE FAN**\\n * Graph paper represents a region.\\n * A wind vane can be placed anywhere on the graph paper to determine what direction the wind is coming from.\\n * Record the wind direction by drawing an arrow in the direction the wind vane is pointing. (Recall that wind is always recorded showing the direction the wind is coming from.) If there is not a clear determination where the wind is coming from, then leave the square blank.\\n * Place a Styrofoam ball on the wind table to see the interaction between the two air masses.\\n * **5.Analyze air mass interactions** \\n\\n * Once all of the groups have finished mapping the wind direction, ask the students to determine the boundary of the two air masses by drawing a circle around the different air masses. \\n\\n * Ask the students if there was anywhere on the grid that they either had trouble deciding what direction to draw their arrow. Some students might remark that the wind vane wobbles or spins in the region between the two distinct air masses. Instruct the students to identify the diagonal region between the two air masses and circle this area with a green marker. \\n\\n* **6.Connecting the Wind Table to the interpolated map.** Ask students to compare Alaska Weather Stations: 7 pm Interpolated data with the wind map they created on their Wind Table. Lead a class conversation. See possible Discussion Points below. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4229-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Mass Properties \\n\\nTo a weather scientist, an air mass is a body of air with similar temperature and air moisture content. (Note that scientists also include pressure, but pressure is not covered in this unit.)\\n\\n###Wind Table Demonstration \\nThe compass rose describes the direction the wind is blowing in degrees. Wind coming directly from the South has a direction of 180\u00b0, from the East 90\u00b0, from the North 360\u00b0, etc. Place the fan to the \u201cNorth\u201d of the weather vane and turn it on. Move the weather vane so that it's at the center of the rose and have students read the wind direction from the rose. Then, move the fan to other locations. Ask students where you should move the fan to get a wind direction of, for example, 180\u00b0, 90\u00b0, 45\u00b0, etc. Move the fan to check their predictions. \\n\\n**Teacher Note:** Wind direction is determined by what direction the wind is coming from. This is a consequence of how it is measured. A weather scientist says, \u201cwinds coming from the northeast\u201d not \u201cwinds heading southwest.\u201d This distinction becomes very important when trying to map the flow of air over a region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4230-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308624, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 1 - What is an air mass? (continued)", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EIDENTIFYING AIR MASSES\u003C/p\u003E\n\u003Cp\u003EIn Lesson 5 of your Science Notebook on pages 21-23, you have additional data weather station data and maps that show you the direction of the wind. On page 22, you will find a map that shows you the 7 pm reading from the additional weather stations. The arrows on the map represent the\u0026nbsp;wind direction. The data on page 23 of your Science Notebook, \"Weather Stations 7 pm Interpolated\" comes from an\u0026nbsp;interpolation\u0026nbsp;of wind direction\u0026nbsp;across the mainland of Alaska at 7 pm. See map below. Using the map on page 23, draw a line that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. It is your job to determine where you see that change in the\u0026nbsp;wind direction.\u003C/p\u003E\n\u003Cp\u003EStrategy for Identifying Two Air Masses:\u003C/p\u003E\n\u003Cp\u003E1. Make Sense of the Map:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each row and see if the arrows change direction as you move across the row.\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each column and see if the arrows change direction as you move down the column.\u0026nbsp;\u003Cbr /\u003E2. Identify where you are going to place your line.\u0026nbsp;\u003Cbr /\u003E3. Draw your line on your paper map.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg\" width=\"623\" height=\"382\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272921-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EWhy did you draw the line there?\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1932-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308625, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 1 - What is an air mass? (continued)", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe line that you drew across your map represents a boundary between two\u0026nbsp;air masses. An air mass is a body of air with similar temperature and\u0026nbsp;air moisture\u0026nbsp;content. Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an\u0026nbsp;air moisture\u0026nbsp;content number at the bottom of the square.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg\" width=\"212\" height=\"292\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272922-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EDevelop a way to define the two air masses using the temperature and\u0026nbsp;air moisture\u0026nbsp;content values provided on the Alaskan Stations: Interpolated at 7 pm Map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg\" width=\"651\" height=\"429\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDefined Air Masses for the Alaska Mainland at 7 pm\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "DEFINING AIR MASSES", + "type": "Embeddable::Xhtml", + "ref_id": "272923-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"colder\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"warmer\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"\u003Cp\u003E\u003Cstrong\u003EAir Mass #1 Properties\u003C/strong\u003E\u003C/p\u003E\\r\\n\u003Cp\u003ETemperature: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\\r\\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1933-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"more moist\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"more dry\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"\u003Cp\u003E\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\\\" width=\\\"321\\\" height=\\\"88\\\" /\u003E\u003C/p\u003E\\r\\n\u003Cp\u003EAir moisture: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\\r\\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1934-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"colder\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"warmer\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"\u003Cp\u003E\u003Cstrong\u003EAir Mass #2 Properties\u003C/strong\u003E\u003C/p\u003E\\r\\n\u003Cp\u003ETemperature: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\\r\\n\u003Cp\u003EAir Mass #2 over land is:\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1935-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"choices\":[{\"id\":\"1\",\"content\":\"more moist\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"more dry\",\"correct\":false,\"choiceFeedback\":\"\"}],\"layout\":\"vertical\",\"prompt\":\"\u003Cp\u003E\u003Cimg class=\\\"\\\" src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\\\" alt=\\\"\\\" width=\\\"354\\\" height=\\\"99\\\" /\u003E\u003C/p\u003E\\r\\n\u003Cp\u003EAir moisture: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\\r\\n\u003Cp\u003EAir Mass #2 is:\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1936-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308626, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 2 - What happens when two air masses collide?", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EFronts\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EThe region between two different air masses is called a\u0026nbsp;\u003Cstrong\u003Efront.\u003C/strong\u003E Weather scientists are very interested in fronts because they are where the\u0026nbsp;weather\u0026nbsp;can change. Sometimes this change is very sudden.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272924-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EGo to page 24 in your Science Notebook and compare the 7 pm interpolated map and the 7 pm radar map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg\" alt=\"\" width=\"860\" height=\"300\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDiscuss with your research team and write a general statement that answers the question, \u0026ldquo;How do air masses affect where it rains?\"\u0026nbsp;\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "272925-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EHow do air masses affect where it rains?\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\u003Cp\u003E\u0026bull; Where is the front? Where is it raining? How do they compare?\u003Cbr /\u003E\u0026bull; How does the location of the precipitation on the radar map compare to the warm air mass, the cold air mass, and the front?\u003Cbr /\u003E\u0026bull; What is the air like where it is raining?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1937-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EGo to page 25 in your Science Notebook and work with you research team to make a prediction for where you think it could rain at 7 am by drawing on the 7 am weather station map in your notebook.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png\" width=\"437\" height=\"263\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAlaska Stations: Interpolated at 7 am\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "272926-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EExplain why you think it could rain in the area you selected.\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1938-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Masses\\n\\nPossible discussion questions:\\n\\n* How do we identify air masses? (Responses should center on temperature, moisture and wind direction.)\\n\\n* What have you learned about the wind?\\n\\n* What questions do you still have?\\n\\n* Why do you think the wind is important in understanding the weather?\\n\\n\u2022 Are there any connections between the location of the air masses, fronts and precipitation? \\n\\n\u2022 Why do you think it is raining in some places and not others?\\n\\n**Teacher note:** Because air is invisible, students tend to have a lot of misconceptions about it. For example, the idea that air is a substance that can move is central to this lesson. It is easy to assume that students understand this concept when they may not. Asking probing questions can help bring their preconceptions to the forefront. The wind table will help students by giving them a concrete experience.\\n\\n###Describing the Front\\n\\n**Teacher note:** Student responses should be in terms of the actual movement of air and not just wind directions. The front is a particularly important area as students should identify it as a place where warm and cold air from the two air masses is coming together or mixing. Students will need a solid understanding of this concept as it will be revisited in the next lesson when they look at how fronts move over a region. \\n\\n###What is Happening at the Front\\n\\n**Teacher Note:** Students will likely notice that there is precipitation outside the area of the front and there are areas along the front that don\u2019t show precipitation. Make note of these discrepancies and remind them that, as we have seen before, we may not have all of the information to explain everything that we see. Some of their observations will be addressed in Lesson 5.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4231-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308627, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 2 - What happens when two air masses collide? (continued)", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYou have made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am. The radar image shows where it was actually raining at 7 am.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png\" width=\"678\" height=\"500\" /\u003E\u003C/p\u003E\n\u003Cp\u003ERadar Image for 7 am\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272927-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EHow accurate was your prediction?\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1939-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003ELook back at your original rule for the question, \u0026ldquo;How do air masses affect where it rains?\u0026rdquo; Using what you learned with the 7 am data, revise your rule.\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1940-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308628, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Activity 3 - How do air masses affect precipitation?", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWhen you feel the wind blow on your face, you are feeling air from another place. Sometimes it feels cold; sometimes it feels warm. The wind is what moves air. Weather scientists use\u0026nbsp;wind direction\u0026nbsp;to distinguish multiple air masses. What happens at the boundary of those two air masses? You will explore that question using a new Virtual Model. \u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272928-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EThis model shows wind as moving arrowheads and precipitation as green circles. There are two air masses. Identify where the front is.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EThen, by trying different settings of the temperature and moisture, see if you can make up a rule for what conditions produce precipitation along the front, and on which side of the front the precipitation will occur.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EStart by pressing \u003Cstrong\u003ESetup\u003C/strong\u003E and \u003Cstrong\u003ERun\u003C/strong\u003E. As you change temperatures and moisture settings you may want to press \u003Cstrong\u003ESetup\u003C/strong\u003E occasionally to start fresh. Be sure to discuss what you find with your research team.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "272929-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EDescribe the position of the front, and explain how you know this.\u003C/p\u003E\\r\\n\u003Cp\u003EYou may use city names as landmarks.\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1941-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EWhat are the conditions in the model that result in precipitation happening along a front?\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\u003Cp\u003E\u0026bull; Look at the temperature values for Air Mass 1 and Air Mass 2\u003Cbr /\u003E\u0026bull; Look at the moisture values for Air Mass 1 and Air Mass 2\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1942-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EDescribe specifically where the precipitation happens within the front.\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\u003Cp\u003E\u0026bull; Is the precipitation happening more on the colder side of the front?\u003Cbr /\u003E\u0026bull; Is the precipitation happening more on the warmer side of the front?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1943-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"prompt\":\"\u003Cp\u003EFinalize your rule statement for \u0026ldquo;How do air masses affect where it rains?\u0026rdquo;\u003C/p\u003E\",\"defaultAnswer\":\"\",\"required\":false,\"questionType\":\"open_response\",\"hint\":\"\u003Cp\u003EMake sure to use precise language and include both temperature and moisture values.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1944-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 3 - How Do Air Masses Affect Precipitation? Virtual Model\\n\\n**Objective:** To build students\u2019 rule refinement skills by experimenting with a model to figure out its built-in weather rules. In this model, precipitation falls under a variety of conditions that can be set by changing temperatures and moisture for two air masses. \\n\\nStudents can vary the temperature and moisture of two air masses in order to better understand how interacting air masses create patterns of rain at a front. Through this process, students will come up with an even more robust rule for predicting rain that involves interacting air masses. The specific computational thinking practice highlighted and practiced in this activity is **Rule Refinement**.\\n\\n**1. Class discussion about air mass properties.**Use the Alaska Weather Stations: 7am Interpolated map! [](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg) to remind students of the properties of the air masses in their regional weather system. See Discussion Points below for possible prompts. \\n\\n**2. Set up the model challenge.** \\n\\n* Have students recall the rule they developed to answer the question \u201cHow do air masses affect where it rains?\u201d \\n\\n* Students will use the Lesson 5 virtual model to help refine their rule.\\n\\n**3. Exploring the Virtual Model.** \\n\\nIntroduce the task, and give students time to explore the model. Then let them tell you what they discovered. They may notice:\\n\\n * The properties of the incoming air can be changed using the sliders on the left and bottom.\\n\\n * The direction of the wind can be seen with arrows and trails that can be turned on or off.\\n\\n * Precipitation appears as green circles with bigger circles meaning heavier rain.\\n\\n * Color of arrows correspond to temperature (Red = Warm, Blue = Cold, Purple = In Between)\\n\\n * Size of arrows correspond to air moisture (Small = dry, Large = moist or humid)\\n\\nYou may want to point out that\\n\\n * Even though the air in the model moves, the model shows airflow for a certain time. Time does not change.\\n\\n**4. Experiment with the Model to find the Rule**\\n\\nTell students that this model has a built-in rule for precipitation made by the model\u2019s programmer. Students\u2019 challenge is to discover the rule by experimenting with the model. \\n\\n * Students may find it helpful to express their experiments comparing warmer or colder temperatures and moister or drier moisture values instead of specific temperatures or air moisture values.\\n\\n * Give students time to play with the model and record their understanding of the model rule design in the questions that follow.\\n\\nNOTE: This is a fairly sophisticated weather model. Don\u2019t expect that students will discover the full precipitation rule. However, students should discover that the front runs up from the southwestern corner through Bethel and Anchorage with one air mass coming down from the northwest and the other up from the south and southwest. They may discover that generally, precipitation occurs along the front if there is a difference in temperature between the two air masses, and tends to form on the warmer side of the front. Although not always true, students will also see that precipitation forms other places than at the front. If the air masses are quite dry they may not produce precipitation. On the other hand, the warmer the air, the more moisture it can hold before precipitation appears. Very warm air can hold a lot of moisture producing a humid day without any rain.\\n\\nIf students are having trouble making rain, have them try a more systematic approach where they vary just one slider a step at a time to see the effect on precipitation. Be sure they know they have to wait a little while to see the effect of a change as the settings only affect the entering wind. Refreshing the screen by pressing Setup is often helpful. The point of this exercise is to see how well students can react to data and test as many options as possible. How deep is their thinking?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4232-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"After students have completed the questions on this page, project the model for the class, if possible. Ask students to discuss what they noticed about the model and what they learned from experimenting with it. The model is complex so there can be many viewpoints. The objective of this is to have students feel that they can learn from the model themselves. All observations are valid and up for discussion.\\n\\nPossible topics for discussion:\\n* It may be most valuable to discuss the questions student's answered on this page. An extended discussion could come from the question below.\\n\\n* What do the sizes and colors of the wind arrowheads mean? (The redder the warmer; the bluer the cooler; the larger the more moist; and the smaller the drier.)\\n\\n* Does precipitation fall only near the front? (No, it can fall where the arrowheads converge or come closer together.)\\n\\n* If the south settings and the west setting are the same, is there a front? (No, but the air may still converge.)\\n\\n* Do you see precipitation even where there is no front? What is a rule for it forming? (This is a little hard to figure out. By setting a high moisture level and then scanning through the temperatures, students can see that there are some intermediate temperatures that produce a lot of precipitation. At high temperatures, the air holds a lot of moisture; at low temperature the air holds little moisture.)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4233-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video to learn how students will use the Lesson 5 Virtual Model to test and refine their rule for, \\\"How do air masses affect precipitation?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: How Do Air Masses Affect Precipitation?, 2020, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4234-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Lesson 5:Air Mass Model", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/lesson-4-ak-v3.html", + "type": "MwInteractive", + "ref_id": "210924-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 308629, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Dividing Alaska for Computation", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EIn Lesson 2 you interpolated temperature data across Alaska to help you to build a model to predict the weather.\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003ENow, think about the best way to divide it up. How large should each square of the grid be to get meaningful interpolated temperature estimates across the state?\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EDiscuss this question with your group and then with your class. You may want to consider:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EHow big is the area to be covered? (Alaska covers 663,000 square miles.)\u003C/li\u003E\n\u003Cli\u003EHow big an area has about the same weather?\u003C/li\u003E\n\u003Cli\u003EHow many real temperature measurements are available?\u003C/li\u003E\n\u003Cli\u003EHow fast can you compute the interpolated values?\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003E\u003Cstrong\u003EConsider two cases:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EYou have 10 measurements for all of mainland Alaska, and you will compute the interpolation by hand.\u003C/li\u003E\n\u003Cli\u003EYou have 100 measurements for all of mainland Alaska, and a computer program will compute the interpolation.\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003EWould you have different size grids for the two cases above? What size would they be and why?\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272930-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This curriculum is designed for students to learn about what computational thinking skills go into a weather model. With this page, students consider that the application of the skills involves choices that will depend on many factors. Through students\u2019 group discussion, and then a whole class discussion, see how many factors they can weigh between the two cases. \\n\\nThis will help illuminate the true nature of a model: that is it a set of choices based on the available data and computing power in order to solve a problem. It is a classic case of a tradeoff.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "4235-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }], + "plugins": [], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-manifests/staging-precipitating-change-v1.json b/src/public/offline-manifests/staging-precipitating-change-v1.json new file mode 100644 index 00000000..6f4a6829 --- /dev/null +++ b/src/public/offline-manifests/staging-precipitating-change-v1.json @@ -0,0 +1,37 @@ +{ + "name": "Precipitating Change Offline Manifest", + "activities": [ + { + "name": "Lesson 4 Pre", + "url": "offline-activities/staging-precipitating-change/lesson-4-pre-v1.json", + "resourceUrl": "https://authoring.staging.concord.org/activities/20955" + }, + { + "name": "Lesson 4", + "url": "offline-activities/staging-precipitating-change/lesson-4-v1.json", + "resourceUrl": "https://authoring.staging.concord.org/activities/20956" + }, + { + "name": "Lesson 4 Post", + "url": "offline-activities/staging-precipitating-change/lesson-4-post-v1.json", + "resourceUrl": "https://authoring.staging.concord.org/activities/20957" + }, + { + "name": "Lesson 5 Pre", + "url": "offline-activities/staging-precipitating-change/lesson-5-pre-v1.json", + "resourceUrl": "https://authoring.staging.concord.org/activities/20954" + }, + { + "name": "Lesson 5", + "url": "offline-activities/staging-precipitating-change/lesson-5-v1.json", + "resourceUrl": "https://authoring.staging.concord.org/activities/20953" + }, + { + "name": "Lesson 5 Post", + "url": "offline-activities/staging-precipitating-change/lesson-5-post-v1.json", + "resourceUrl": "https://authoring.staging.concord.org/activities/20952" + } + ], + "cacheList": [ + ] +} From 04565759c515b900c183edcd526ad539efe580f4 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 15 Mar 2021 00:21:38 -0400 Subject: [PATCH 074/242] Add some cached urls It seems like the manifest authoring system doesn't pick up all assets. So I think this list is incomplete. --- .../staging-precipitating-change-v1.json | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/public/offline-manifests/staging-precipitating-change-v1.json b/src/public/offline-manifests/staging-precipitating-change-v1.json index 6f4a6829..6579e133 100644 --- a/src/public/offline-manifests/staging-precipitating-change-v1.json +++ b/src/public/offline-manifests/staging-precipitating-change-v1.json @@ -33,5 +33,47 @@ } ], "cacheList": [ + "https://activity-player-offline.concord.org/icons/apple-icon-144x144.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/1milex1mile.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/200milesx200miles.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/20milesx20miles.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/3ftx3ft.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska200grid.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex5.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana5.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin5.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage3.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png", + "https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", + "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson1.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", + "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/precip-models/lesson-4-ak-v3.html", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/open-response/", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" ] } From f9a98fc0c3f6183090db7b8b4a265c5141b89f0f Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 15 Mar 2021 13:49:43 -0400 Subject: [PATCH 075/242] fix grammar error --- src/offline-manifest-api.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index 09948892..ad06bc5b 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -102,7 +102,7 @@ export const getOfflineManifestAuthoringDownloadJSON = (name: string, data: Offl export const mergeOfflineManifestWithAuthoringData = (offlineManifest: OfflineManifest, authoringData: OfflineManifestAuthoringData) => { const {activities, cacheList} = authoringData; offlineManifest.activities.forEach(activity => { - // Note: if the contentUrl has changed this is won't update it in the manifest + // Note: if the contentUrl has changed this won't update it in the manifest // but in that case it seems reasonable that the author will just manually fix it. if (!activities.find(a => a.resourceUrl === activity.resourceUrl)) { activities.push(activity); From 60f7956eedaf6f63b93af5ae51c8f982a248351c Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 15 Mar 2021 14:07:20 -0400 Subject: [PATCH 076/242] Add typing for answerWatchers --- src/storage/storage-facade.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 6fed923d..808a587d 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -1,7 +1,7 @@ // import { WrappedDBAnswer, FirebaseAppName } from "./firebase-db"; import * as FirebaseImp from "./firebase-db"; import { fetchPortalData, IAnonymousPortalData, IPortalData } from "../portal-api"; -import { IAnonymousMetadataPartial, IExportableAnswerMetadata } from "../types"; +import { IExportableAnswerMetadata } from "../types"; import { dexieStorage, kOfflineAnswerSchemaVersion } from "./dexie-storage"; import { refIdToAnswersQuestionId } from "../utilities/embeddable-utils"; @@ -190,10 +190,12 @@ class FireStoreStorageProvider implements IStorageInterface { } +interface IAnswerWatcherCallback { (answer: IWrappedDBAnswer): void } +type IQuestionWatchersRecord = Record>; class DexieStorageProvider implements IStorageInterface { portalData: IPortalData|IAnonymousPortalData; haveFireStoreConnection: boolean; - answerWatchers: any; + answerWatchers: Record; constructor(){ this.haveFireStoreConnection = false; From a90bfe3cd605fe3699459a23120dcb7bb34762e8 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 15 Mar 2021 14:42:01 -0400 Subject: [PATCH 077/242] Type out query parameter keys, add `force_offline_data` key. [#177348535] -- Add optional`force_offline_data=true` query parameter https://www.pivotaltracker.com/story/show/177348535 --- src/components/app.tsx | 3 ++- src/utilities/url-query.ts | 34 +++++++++++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 3e994f18..ea449c7b 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -290,7 +290,8 @@ export class App extends React.PureComponent { setDocumentTitle(activity, currentPage); // Initialize Storage provider - const storage = await initStorage({name: firebaseAppName(), preview, offline: this.state.offlineMode}); + const useOfflineStorage = this.state.offlineMode || queryValueBoolean("force_offline_data"); + const storage = await initStorage({name: firebaseAppName(), preview, offline: useOfflineStorage}); this.studentInfo = new StudentInfo(storage); await this.studentInfo.init(); const role = this.studentInfo.role; diff --git a/src/utilities/url-query.ts b/src/utilities/url-query.ts index 4824fe63..47b5a48f 100644 --- a/src/utilities/url-query.ts +++ b/src/utilities/url-query.ts @@ -1,11 +1,39 @@ import queryString from "query-string"; +// Known Query Parameters: +type IQueryKey = + "__cypressLoggedIn" | + "__maxIdleTime" | + "__timeout" | + "activity" | + "confirmOfflineManifestInstall" | + "contentUrl" | + "domain" | + "firebaseApp" | + "mode" | + "offlineManifest" | + "page" | + "portalReport" | + "runKey" | + "sequence" | + "setOfflineManifestAuthoringId" | + "sourceKey" | + "token"; + +// Known Boolean Query Parameters: +type IQueryBoolKey = + "clearFirestorePersistence" | + "enableFirestorePersistence" | + "force_offline_data" | // Will force indexDB storage for testing... + "preview" | + "themeButtons"; + /** * Simplifies query-string library by only returning `string | undefined`, instead * of `string | string[] | null | undefined`. * @param prop */ -export const queryValue = (prop: string): string | undefined => { +export const queryValue = (prop: IQueryKey): string | undefined => { const query = queryString.parse(window.location.search); const val = query[prop]; if (!val) return; @@ -18,7 +46,7 @@ export const queryValue = (prop: string): string | undefined => { /** * returns `true` if prop is present, or has any value except "false" */ -export const queryValueBoolean = (prop: string): boolean => { +export const queryValueBoolean = (prop: IQueryBoolKey): boolean => { const query = queryString.parse(window.location.search, {parseBooleans: true}); const val = query[prop]; if (val === false) return false; @@ -30,7 +58,7 @@ export const queryValueBoolean = (prop: string): boolean => { * Append or modify a query parameter value, by default using `replaceState` to update in place * without a reload or history push, but optionally with a reload. */ -export const setQueryValue = (prop: string, value: any, reload = false) => { +export const setQueryValue = (prop: IQueryKey|IQueryBoolKey, value: any, reload = false) => { const parsed = queryString.parse(location.search); parsed[prop] = value; const newQueryString = queryString.stringify(parsed); From dd216f72cd424076e903db3c35a3a3733b22d96b Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 15 Mar 2021 14:44:16 -0400 Subject: [PATCH 078/242] update documentation, and use content Url in manifest --- README.md | 32 +++++++++++++++++++ .../staging-precipitating-change-v1.json | 12 +++---- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 604b4cf0..1e7b0b22 100644 --- a/README.md +++ b/README.md @@ -167,6 +167,38 @@ At this point you can either add new activities by manually adding an `activity= Once you have completed authoring you can click on the "Exit Authoring" button in the authoring nav. This simply deletes the localstorage key set when the `setOfflineManifestAuthoringId=` query parameter was used. It **does not** delete the data stored during authoring mode. To delete that data (for the current offline manifest only) click the "Clear Authoring Data" button in the authoring nav. +#### Frozen activity content + +It is safest to freeze the activity content managed by LARA and refer to that frozen activity content in the manifest. Otherwise the resources referenced by activity can change after the manifest was generated, and then when a user goes to install the manifest's files some of them will not be available anymore. + +A specific example are the library interactives used for open response and multiple choice in LARA. When a new version of these interactives (question-interactives) is released, the library interactive referenced by most activities in LARA gets updated. Now when the activity content is downloaded by the AP it refers to the new version of this interactive. If the manifest was created with the old version it might record a url of `/models-resources/question-interactives/version/v1.1.0`, but after the new release, LARA might now send down an activity json file that refers to `/models-resources/question-interactives/version/v1.2.0`. Because the manifest only initially "installs" what is listed in the manifest file, the v1.2.0 interactive would not be cached. Now when the activity is run offline it would not find v1.2.0 and the activity won't run correctly. By freezing the activity json, changes to LARA won't affect this frozen content so the manifest will continue to be valid. + +There are still cases where a frozen activity.json won't help. Here is an example: +If the activity uses a master branch version of question-interactives. The manifest will record a reference to the html, javascript, and css of this master branch. The index file name will always be the same `/models-resources/question-interactivs/branch/master/index.html`, but it will refer to js and css files that include a hash in them. So the manifest will record something like: +- `/models-resources/question-interactives/branch/master/index.html` +- `/models-resources/question-interactives/branch/master/index.abc123.js` + +When new code is added to the master branch the old files are deleted and new files are added so now the master branch question-interactive index.html will refer to a different js file such as: `/models-resources/question-interactivs/branch/master/index.def456.js`. This file will not have been cached during the manifest installation process so when running offline the question-interactives won't be able to find its javascript. Because of this it is always best to refer to versioned interactives which we know will not be modified, so the list of files in the manifest will always be correct. + +#### Assignments to support Offline Manifests + +The student or teacher will need to install the files from the offline manifest before the student goes offline. +They'll likely do that with a URL like this one: + + https://activity-player-offline.concord.org/branch/offline-mode/?confirmOfflineManifestInstall=true&offlineManifest=staging-precipitating-change-v1 + +Then when they run they need to open the url like: + + https://activity-player-offline.concord.org/branch/offline-mode/ + +They can just bookmark that URL, or they can install a PWA app icon which will open that URL. The PWA installation should increase the stickiness of the application cache. + +An author needs to setup assignments for each resources (activities) in the manifest so the student can upload their work on that resource back to the report-service. Because we are using frozen content and we want the portal-report to be able to find the report-structure for the activity. These URLs need to include both an `activity` parameter and a `contentUrl` parameter. An example of this is: + + https://activity-player-offline.concord.org/branch/offline-mode/?activity=https://authoring.staging.concord.org/activities/20926&contentUrl=offline-activities%2Fprecipitatingchange-test-v1.json + +The `activity` parameter is used by the AP and the portal-report to compute the resourceUrl. This resourceUrl is used to find the student's answers in the offline indexedDb. It is also used by the portal-report to find the report-structure the report-service. + ## Models-Resources Proxying In order for the interactive iframe contents to be cached by the Activity Player service worker the iframes must load content under the same Activity Player domain. To do this in production a CloudFront origin and behavior were added to proxy any url containing `models-resources` to the models-resources S3 bucket. This is also done locally with a proxy setup in the webpack-dev-server configuration. diff --git a/src/public/offline-manifests/staging-precipitating-change-v1.json b/src/public/offline-manifests/staging-precipitating-change-v1.json index 6579e133..bf1b8f5e 100644 --- a/src/public/offline-manifests/staging-precipitating-change-v1.json +++ b/src/public/offline-manifests/staging-precipitating-change-v1.json @@ -3,32 +3,32 @@ "activities": [ { "name": "Lesson 4 Pre", - "url": "offline-activities/staging-precipitating-change/lesson-4-pre-v1.json", + "contentUrl": "offline-activities/staging-precipitating-change/lesson-4-pre-v1.json", "resourceUrl": "https://authoring.staging.concord.org/activities/20955" }, { "name": "Lesson 4", - "url": "offline-activities/staging-precipitating-change/lesson-4-v1.json", + "contentUrl": "offline-activities/staging-precipitating-change/lesson-4-v1.json", "resourceUrl": "https://authoring.staging.concord.org/activities/20956" }, { "name": "Lesson 4 Post", - "url": "offline-activities/staging-precipitating-change/lesson-4-post-v1.json", + "contentUrl": "offline-activities/staging-precipitating-change/lesson-4-post-v1.json", "resourceUrl": "https://authoring.staging.concord.org/activities/20957" }, { "name": "Lesson 5 Pre", - "url": "offline-activities/staging-precipitating-change/lesson-5-pre-v1.json", + "contentUrl": "offline-activities/staging-precipitating-change/lesson-5-pre-v1.json", "resourceUrl": "https://authoring.staging.concord.org/activities/20954" }, { "name": "Lesson 5", - "url": "offline-activities/staging-precipitating-change/lesson-5-v1.json", + "contentUrl": "offline-activities/staging-precipitating-change/lesson-5-v1.json", "resourceUrl": "https://authoring.staging.concord.org/activities/20953" }, { "name": "Lesson 5 Post", - "url": "offline-activities/staging-precipitating-change/lesson-5-post-v1.json", + "contentUrl": "offline-activities/staging-precipitating-change/lesson-5-post-v1.json", "resourceUrl": "https://authoring.staging.concord.org/activities/20952" } ], From 4a387e08c38f635d0257798bfe3b817d2a248a02 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 15 Mar 2021 14:46:39 -0400 Subject: [PATCH 079/242] Add typing for answerWatchers One more typing fix --- src/storage/storage-facade.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 808a587d..fdfdc84b 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -224,7 +224,7 @@ class DexieStorageProvider implements IStorageInterface { if (!questionAnswerWatchers) { return; } - questionAnswerWatchers.forEach((callback:any) => { + questionAnswerWatchers.forEach((callback:IAnswerWatcherCallback) => { callback(docToWrappedAnswer(answer)); }); } From ef825f84dc5f78e9477abcd5bee354f61a50e8fa Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 15 Mar 2021 15:44:07 -0400 Subject: [PATCH 080/242] Add to query param documentation [#177348535] -- Add optional`force_offline_data=true` query parameter https://www.pivotaltracker.com/story/show/177348535 --- README.md | 48 +++++++++++++++++++++++--------------- src/utilities/url-query.ts | 2 +- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 604b4cf0..b9b0209d 100644 --- a/README.md +++ b/README.md @@ -107,26 +107,36 @@ Inside of your `package.json` file: 3. `cypress run --spec 'cypress/integration/examples/smoke-test.js'` will point to a smoke-test file rather than running all of the test files for a project. ## Url Parameters -### Note: these are subject to change - -* activity={id|url}: load sample-activity {id} or load json from specified url -* sequence={id|url}: load sample-sequence {id} or load json from specified url -* contentUrl={url}: override the activity parameter and load the activity content from this contentUrl instead. In this case the activity parameter is still used to make the resourceUrl which identifies the resource structure in the report-service. The computed resourceUrl is also used to identify the answers when running offline. -* page={n|"page_[id]"}: load page n, where 0 is the activity introduction, 1 is the first page and [id] in "page_[id]" refers to an internal integer id of the page model exported from LARA. -* themeButtons: whether to show theme buttons -* mode={mode}: sets mode. Values: "teacher-edition" -* portalReport: override default base URL for the student report. `https://activity-player.concord.org/`, `https://activity-player-offline.concord.org/`, `https://activity-player.concord.org/version/*`, and `https://activity-player-offline.concord.org/version/*`, default to a versioned URL defined as a constant in the code `kProductionPortalReportUrl`. Every other url defaults to the master branch of the portal-report. - -#### User data loading: -* firebaseApp={id}: override default firebase app. https://activity-player.concord.org/ and https://activity-player-offline.concord.org/ without a path, defaults to `report-service-pro` every other url defaults to `report-service-dev`. For example https://activity-player.concord.org/branch/foo will use `report-service-dev` by default. -* token={n}: set by the portal when launching external activity, to authenticate with portal API -* domain={n}: set by the portal when launching external activity -* sourceKey={id}: which source collection to save data to in firestore (defaults to canonical hostname) -* runkey={uuid}: set by the app if we are running in anonymous datasaving mode -* preview: prevent running in anonymous datasaving mode -* enableFirestorePersistence: uses local offline firestore cache only -* clearFirestorePersistence: clears local offline firestore cache +The configuration of the Activity Player is managed mostly by setting and checking URL parameters. +### Note: these are subject to change +Definitive source of valid URL parameter names can be found in: `src/utilities/url-query.ts` + +#### Testing, development, and debugging: +* `__cypressLoggedIn`: trigger logged in code path for Cypress tests. +* `clearFirestorePersistence`: clear FireStore between Cypress tests +* `force_offline_data=`: will force IndexedDB storage for answers, plugin data. + +#### Content and behavior +* `__maxIdleTime`: user will see the idle warning after kMaxIdleTime +* `__timeout`: user session will timeout after kMaxIdleTime + kTimeout +* `activity={id|url}`: load sample-activity {id} or load json from specified url +* `contentUrl={url}`: override the activity parameter and load the activity content from this contentUrl instead. In this case the activity parameter is still used to make the resourceUrl which identifies the resource structure in the report-service. The computed resourceUrl is also used to identify the answers when running offline. +* `mode={mode}`: sets mode. Values: "teacher-edition" +* `page={n|"page_[id]"}`: load page n, where 0 is the activity introduction, 1 is the first page and [id] in "page_[id]" refers to an internal integer id of the page model exported from LARA. +* `portalReport`: override default base URL for the student report. `https://activity-player.concord.org/`, `https://activity-player-offline.concord.org/`, `https://activity-player.concord.org/version/*`, and `https://activity-player-offline.concord.org/version/*`, default to a versioned URL defined as a constant in the code `kProductionPortalReportUrl`. Every other url defaults to the master branch of the portal-report. +* `sequence={id|url}`: load sample-sequence {id} or load json from specified url +* `themeButtons`: whether to show theme buttons + +#### Loading user and authentication data: +* `clearFirestorePersistence`: clears local offline firestore cache +* `domain={n}`: set by the portal when launching external activity +* `enableFirestorePersistence`: uses local offline firestore cache only +* `firebaseApp={id}`: override default firebase app. https://activity-player.concord.org/ and https://activity-player-offline.concord.org/ without a path, defaults to `report-service-pro` every other url defaults to `report-service-dev`. For example https://activity-player.concord.org/branch/foo will use `report-service-dev` by default. +* `preview`: prevent running in anonymous datasaving mode +* `runkey={uuid}`: set by the app if we are running in anonymous datasaving mode +* `sourceKey={id}`: which source collection to save data to in firestore (defaults to canonical hostname) +* `token={n}`: set by the portal when launching external activity, to authenticate with portal API ## Usage Notes ### Offline Manifests diff --git a/src/utilities/url-query.ts b/src/utilities/url-query.ts index 47b5a48f..3dd0ab8d 100644 --- a/src/utilities/url-query.ts +++ b/src/utilities/url-query.ts @@ -1,6 +1,6 @@ import queryString from "query-string"; -// Known Query Parameters: +// See `README.md` for complete description of parameters and there intended use. type IQueryKey = "__cypressLoggedIn" | "__maxIdleTime" | From dfadc83c7e6dcead1dbf5a4a944fa71d664a063c Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 15 Mar 2021 16:25:58 -0400 Subject: [PATCH 081/242] Rename `__forceOfflineData` param. Move other `__*` params to testing. [#177348535] -- Add optional `__forceOfflineData` query parameter https://www.pivotaltracker.com/story/show/177348535 --- README.md | 7 +++---- src/utilities/url-query.ts | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b9b0209d..9cfb633a 100644 --- a/README.md +++ b/README.md @@ -114,12 +114,11 @@ Definitive source of valid URL parameter names can be found in: `src/utilities/u #### Testing, development, and debugging: * `__cypressLoggedIn`: trigger logged in code path for Cypress tests. -* `clearFirestorePersistence`: clear FireStore between Cypress tests -* `force_offline_data=`: will force IndexedDB storage for answers, plugin data. - -#### Content and behavior +* `__forceOfflineData`: will force IndexedDB storage for answers, plugin data. * `__maxIdleTime`: user will see the idle warning after kMaxIdleTime * `__timeout`: user session will timeout after kMaxIdleTime + kTimeout +* `clearFirestorePersistence`: clear FireStore between Cypress tests +#### Content and behavior * `activity={id|url}`: load sample-activity {id} or load json from specified url * `contentUrl={url}`: override the activity parameter and load the activity content from this contentUrl instead. In this case the activity parameter is still used to make the resourceUrl which identifies the resource structure in the report-service. The computed resourceUrl is also used to identify the answers when running offline. * `mode={mode}`: sets mode. Values: "teacher-edition" diff --git a/src/utilities/url-query.ts b/src/utilities/url-query.ts index 3dd0ab8d..ebab0f10 100644 --- a/src/utilities/url-query.ts +++ b/src/utilities/url-query.ts @@ -24,7 +24,7 @@ type IQueryKey = type IQueryBoolKey = "clearFirestorePersistence" | "enableFirestorePersistence" | - "force_offline_data" | // Will force indexDB storage for testing... + "__forceOfflineData" | // Will force indexDB storage for testing... "preview" | "themeButtons"; From a358e2ea6eafd8b26052b5d1f6ab50f432137325 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 15 Mar 2021 16:28:09 -0400 Subject: [PATCH 082/242] Rename `__forceOfflineData` param. Move other `__*` params to testing. [#177348535] -- Add optional `__forceOfflineData` query parameter https://www.pivotaltracker.com/story/show/177348535 --- src/components/app.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index ea449c7b..7e30852a 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -290,7 +290,7 @@ export class App extends React.PureComponent { setDocumentTitle(activity, currentPage); // Initialize Storage provider - const useOfflineStorage = this.state.offlineMode || queryValueBoolean("force_offline_data"); + const useOfflineStorage = this.state.offlineMode || queryValueBoolean("__forceOfflineData"); const storage = await initStorage({name: firebaseAppName(), preview, offline: useOfflineStorage}); this.studentInfo = new StudentInfo(storage); await this.studentInfo.init(); From 5e2d4a22522b24f14e6b80a831ed9fefaa1c7ede Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 15 Mar 2021 16:53:05 -0400 Subject: [PATCH 083/242] =?UTF-8?q?Fix=20merge=20regression=20=5FcurrentOf?= =?UTF-8?q?flineActivityId=20=E2=86=92=20=5FcurrentOfflineResourceUrl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/storage/storage-facade.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 4dcec08e..6dac985f 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -216,7 +216,7 @@ class DexieStorageProvider implements IStorageInterface { const idxDBAnswer = answer as IIndexedDBAnswer; idxDBAnswer.resource_url = _currentOfflineResourceUrl; dexieStorage.answers.put(idxDBAnswer); - const activityAnswerWatchers = this.answerWatchers[_currentOfflineActivityId]; + const activityAnswerWatchers = this.answerWatchers[_currentOfflineResourceUrl]; if (!activityAnswerWatchers || !answer.question_id) { return; } @@ -260,10 +260,10 @@ class DexieStorageProvider implements IStorageInterface { }); }; - let activityAnswerWatchers = this.answerWatchers[_currentOfflineActivityId]; + let activityAnswerWatchers = this.answerWatchers[_currentOfflineResourceUrl]; if (!activityAnswerWatchers) { activityAnswerWatchers = {}; - this.answerWatchers[_currentOfflineActivityId] = activityAnswerWatchers; + this.answerWatchers[_currentOfflineResourceUrl] = activityAnswerWatchers; } let questionAnswerWatchers = activityAnswerWatchers[questionId]; From 7d0014e9bd9affa5fe7732c6b0ca5efa89cb64b6 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 15 Mar 2021 17:57:42 -0400 Subject: [PATCH 084/242] Save plugin state when exporting student data to JSON [#177304245] https://www.pivotaltracker.com/story/show/177304245 --- src/storage/dexie-storage.ts | 10 ++++-- src/storage/storage-facade.ts | 61 +++++++++++++++++++++++++---------- 2 files changed, 51 insertions(+), 20 deletions(-) diff --git a/src/storage/dexie-storage.ts b/src/storage/dexie-storage.ts index 3df5a97a..d405e5ac 100644 --- a/src/storage/dexie-storage.ts +++ b/src/storage/dexie-storage.ts @@ -3,8 +3,12 @@ import { OfflineActivity, LogMessage } from "../types"; import { IIndexedDBAnswer } from "./storage-facade"; // We need to ensure a version match between data stored and exported -// version 5: switched from activity to resource_url field for identifing answers's activity +// version 5: switched from activity to resource_url field for identifying answer's activity export const kOfflineAnswerSchemaVersion = 5; +export interface IDexiePluginRecord { + pluginId: number, + state: string|null +} // Copy and pasted from the example: https://dexie.org/docs/Typescript export class DexieStorage extends Dexie { @@ -12,8 +16,8 @@ export class DexieStorage extends Dexie { // (just to inform Typescript. Instantiated by Dexie in stores() method) logs: Dexie.Table; offlineActivities: Dexie.Table; - answers: Dexie.Table; // number = type of the primkey - pluginStates: Dexie.Table<{pluginId: number, state: string|null}>; + answers: Dexie.Table; // number = type of the primary key + pluginStates: Dexie.Table; constructor () { // the database was called ActivityPlayer, but changes to the offlineActivities diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 6dac985f..4c626797 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -2,7 +2,7 @@ import * as FirebaseImp from "./firebase-db"; import { fetchPortalData, IAnonymousPortalData, IPortalData } from "../portal-api"; import { IExportableAnswerMetadata } from "../types"; -import { dexieStorage, kOfflineAnswerSchemaVersion } from "./dexie-storage"; +import { dexieStorage, IDexiePluginRecord, kOfflineAnswerSchemaVersion } from "./dexie-storage"; import { refIdToAnswersQuestionId } from "../utilities/embeddable-utils"; export interface IInitStorageParams { @@ -22,7 +22,13 @@ export interface IWrappedDBAnswer { export type IIndexedDBAnswer = IExportableAnswerMetadata & { resource_url: string }; -export type ExportableActivity = { resource_url: string, filename: string, version: number, answers: IIndexedDBAnswer[] }; +export type ExportableActivity = { + resource_url: string, + filename: string, + version: number, + answers: IIndexedDBAnswer[], + pluginStates: IDexiePluginRecord[] +} export const TrackOfflineResourceUrl = (newId: string) => { _currentOfflineResourceUrl = newId; @@ -286,30 +292,38 @@ class DexieStorageProvider implements IStorageInterface { return ()=>null; } - exportActivityToJSON(activityId?: string) { + async exportActivityToJSON(activityId?: string) { const currentActivityId = activityId ? activityId : _currentOfflineResourceUrl; const activityShortId = currentActivityId.indexOf("/") > -1 ? currentActivityId.substr(currentActivityId.lastIndexOf("/")+1).replace(".json", "") : currentActivityId; const filename = activityExportFileName(activityShortId); - const getAllAnswersFromIndexDB = () => { - const foundAnswers = dexieStorage - .answers - .where({resource_url: currentActivityId}) - .toArray(); - return foundAnswers.then((answers) => { - return answers; - }); - }; - return getAllAnswersFromIndexDB().then((answers: IIndexedDBAnswer[] | null) => { - // Adding an explicit variable for the exportable activity for Typescript reasons - const exportableActivity: ExportableActivity = { resource_url: currentActivityId, filename, version: kOfflineAnswerSchemaVersion, answers: [] }; + const getAllAnswersFromIndexDB = () => dexieStorage + .answers + .where({resource_url: _currentOfflineResourceUrl}) + .toArray(); + + const getAllPluginStates = () => dexieStorage.pluginStates.toArray(); + + const exportableActivity: ExportableActivity = { + resource_url: currentActivityId, + filename, version: kOfflineAnswerSchemaVersion, + answers: [], + pluginStates: [], + }; + + + await getAllAnswersFromIndexDB().then((answers: IIndexedDBAnswer[] | null) => { if (answers) { exportableActivity.answers = answers; return exportableActivity; - } else { - return exportableActivity; } }); + await getAllPluginStates().then((states: IDexiePluginRecord[]) => { + if(states) { + exportableActivity.pluginStates = states; + } + }); + return exportableActivity; } importStudentAnswersFromJSONFile(studentAnswers: string, filename: string) { @@ -406,7 +420,20 @@ class DexieStorageProvider implements IStorageInterface { for(const answer of answers) { fsProvider.createOrUpdateAnswer(answer); } + // TODO: We need to track dirty state, and clear the dirty flag here. + // Now do plugin states. No need really, so lets skip it for now. + // const pluginStates = await dexieStorage + // .pluginStates + // .toArray(); + + // for(const pState of pluginStates) { + // const {pluginId, state} = pState; + // if(state) { + // fsProvider.setLearnerPluginState(pluginId, state); + // } + // } } + catch(e) { console.error("Could not sync local indexDB to FireStore:"); console.error(e); From 46d57a485cb40107de273b663ea2428ee7bc105c Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 15 Mar 2021 18:01:05 -0400 Subject: [PATCH 085/242] Increment schema version [#177304245] https://www.pivotaltracker.com/story/show/177304245 --- src/storage/dexie-storage.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/storage/dexie-storage.ts b/src/storage/dexie-storage.ts index d405e5ac..df0bba54 100644 --- a/src/storage/dexie-storage.ts +++ b/src/storage/dexie-storage.ts @@ -4,7 +4,7 @@ import { IIndexedDBAnswer } from "./storage-facade"; // We need to ensure a version match between data stored and exported // version 5: switched from activity to resource_url field for identifying answer's activity -export const kOfflineAnswerSchemaVersion = 5; +export const kOfflineAnswerSchemaVersion = 6; export interface IDexiePluginRecord { pluginId: number, state: string|null From 2a9e2b29d5dd0f0ecb0171a21ecd3a2d6e29e6c3 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Mon, 15 Mar 2021 19:33:21 -0400 Subject: [PATCH 086/242] Add 0 as valid cacheable response The 0 status code is returned for opaque responses. Since our fetch based cache filler use the no-cors option we get opaque responses for all external non-cors enabled servers. --- src/service-worker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/service-worker.ts b/src/service-worker.ts index c0ed59c7..044a5a83 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -37,7 +37,7 @@ registerRoute( plugins: [ // Ensure that only requests that result in a 200 status are cached new CacheableResponsePlugin({ - statuses: [200], + statuses: [0, 200], }), ], }), From b11fea6de7ee89f19fd1edbf974bf3416c1b718e Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 16 Mar 2021 00:37:35 -0400 Subject: [PATCH 087/242] update the manifest with additional resources these were not found before, perhaps because I didn't go to all of the pages or perhaps this is related to the change that Doug made --- .../offline-manifests/staging-precipitating-change-v1.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/public/offline-manifests/staging-precipitating-change-v1.json b/src/public/offline-manifests/staging-precipitating-change-v1.json index bf1b8f5e..1631a917 100644 --- a/src/public/offline-manifests/staging-precipitating-change-v1.json +++ b/src/public/offline-manifests/staging-precipitating-change-v1.json @@ -47,10 +47,15 @@ "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4StormTracker7pm.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WeatherMAPB.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage3.png", @@ -66,7 +71,9 @@ "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/precip-models/ak-w-cities.png", "models-resources/precip-models/lesson-4-ak-v3.html", + "models-resources/precip-models/precip-rule-ak-v5.html", "models-resources/question-interactives/version/v1.1.0/multiple-choice/", "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.css", "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.js", From 81b662b90f5da82625a8d88df6e001f381bb3046 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 16 Mar 2021 01:13:37 -0400 Subject: [PATCH 088/242] add a completion page to each of the activities --- .../lesson-4-post-v1.json | 19 ++++++++++++++++++- .../lesson-4-pre-v1.json | 19 ++++++++++++++++++- .../lesson-4-v1.json | 19 ++++++++++++++++++- .../lesson-5-post-v1.json | 19 ++++++++++++++++++- .../lesson-5-pre-v1.json | 19 ++++++++++++++++++- .../lesson-5-v1.json | 17 +++++++++++++++++ 6 files changed, 107 insertions(+), 5 deletions(-) diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-4-post-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-4-post-v1.json index c977c124..141bf0e4 100644 --- a/src/public/offline-activities/staging-precipitating-change/lesson-4-post-v1.json +++ b/src/public/offline-activities/staging-precipitating-change/lesson-4-post-v1.json @@ -4,7 +4,7 @@ "layout": 0, "name": "AP - Lesson 4: Alaska Mainland 2 Post - What Do You Think?", "notes": "", - "project_id": 25, + "project_id": null, "related": "", "runtime": "Activity Player", "show_submit_button": true, @@ -210,6 +210,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308641, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [], "type": "LightweightActivity", diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-4-pre-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-4-pre-v1.json index 2e801080..19f60c42 100644 --- a/src/public/offline-activities/staging-precipitating-change/lesson-4-pre-v1.json +++ b/src/public/offline-activities/staging-precipitating-change/lesson-4-pre-v1.json @@ -4,7 +4,7 @@ "layout": 0, "name": "AP - Lesson 4: Alaska Mainland 2 Pre - What Do You Think?", "notes": "", - "project_id": 25, + "project_id": null, "related": "", "runtime": "Activity Player", "show_submit_button": true, @@ -160,6 +160,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308639, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [], "type": "LightweightActivity", diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-4-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-4-v1.json index b80294b6..4a0ee721 100644 --- a/src/public/offline-activities/staging-precipitating-change/lesson-4-v1.json +++ b/src/public/offline-activities/staging-precipitating-change/lesson-4-v1.json @@ -4,7 +4,7 @@ "layout": 0, "name": "AP - Lesson 4: Alaska Mainland 2 - Building Rules", "notes": "", - "project_id": 25, + "project_id": null, "related": "", "runtime": "Activity Player", "show_submit_button": true, @@ -730,6 +730,23 @@ }, "section": "interactive_box" }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308640, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 5, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [], "type": "LightweightActivity", diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-5-post-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-5-post-v1.json index 62976990..bdbfeca5 100644 --- a/src/public/offline-activities/staging-precipitating-change/lesson-5-post-v1.json +++ b/src/public/offline-activities/staging-precipitating-change/lesson-5-post-v1.json @@ -4,7 +4,7 @@ "layout": 0, "name": "AP - Lesson 5: Alaska Mainland 2 - Post - What Do You Think?", "notes": "", - "project_id": 25, + "project_id": null, "related": "", "runtime": "Activity Player", "show_submit_button": true, @@ -210,6 +210,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308644, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [], "type": "LightweightActivity", diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-5-pre-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-5-pre-v1.json index 41a793fa..be34f9b5 100644 --- a/src/public/offline-activities/staging-precipitating-change/lesson-5-pre-v1.json +++ b/src/public/offline-activities/staging-precipitating-change/lesson-5-pre-v1.json @@ -4,7 +4,7 @@ "layout": 0, "name": "AP - Lesson 5: Alaska Mainland 2 - Pre - What Do You Think?", "notes": "", - "project_id": 25, + "project_id": null, "related": "", "runtime": "Activity Player", "show_submit_button": true, @@ -160,6 +160,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308642, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [], "type": "LightweightActivity", diff --git a/src/public/offline-activities/staging-precipitating-change/lesson-5-v1.json b/src/public/offline-activities/staging-precipitating-change/lesson-5-v1.json index 4fe59b2b..2fc2228a 100644 --- a/src/public/offline-activities/staging-precipitating-change/lesson-5-v1.json +++ b/src/public/offline-activities/staging-precipitating-change/lesson-5-v1.json @@ -1186,6 +1186,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308643, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [], "type": "LightweightActivity", From 9136ef74094a7b319f4e3669f71c6a293d4fa5d4 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 16 Mar 2021 04:44:43 -0400 Subject: [PATCH 089/242] Disable warnings for console logs in production build --- .eslintrc.build.js | 1 - 1 file changed, 1 deletion(-) diff --git a/.eslintrc.build.js b/.eslintrc.build.js index d2e961b1..9e468597 100644 --- a/.eslintrc.build.js +++ b/.eslintrc.build.js @@ -2,7 +2,6 @@ module.exports = { extends: "./.eslintrc.js", rules: { - "no-console": ["warn", { allow: ["warn", "error"] }], "no-debugger": "error" } }; From da3784e7aab16c9ca89ba3b2c23fad8dce035980 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 16 Mar 2021 04:52:59 -0400 Subject: [PATCH 090/242] Update site manifest to make start_url and icons relative paths This allows the PWA install icon to be seen in the long-lived offline-mode branch --- src/public/manifest.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/public/manifest.json b/src/public/manifest.json index 52acfa13..3eab0526 100644 --- a/src/public/manifest.json +++ b/src/public/manifest.json @@ -3,7 +3,7 @@ "name": "Activity Player", "lang": "en", "description": "Concord Consortium Activity Player", - "start_url": "/index.html?offline=true", + "start_url": "index.html", "background_color": "#ea6d2f", "theme_color": "#2da343", "dir": "ltr", @@ -11,67 +11,67 @@ "orientation": "any", "icons": [ { - "src": "/icons/android-icon-192x192.png", + "src": "icons/android-icon-192x192.png", "type": "image/png", "sizes": "192x192" }, { - "src": "/icons/apple-icon-180x180.png", + "src": "icons/apple-icon-180x180.png", "type": "image/png", "sizes": "180x180" }, { - "src": "/icons/apple-icon-152x152.png", + "src": "icons/apple-icon-152x152.png", "type": "image/png", "sizes": "152x152" }, { - "src": "/icons/apple-icon-144x144.png", + "src": "icons/apple-icon-144x144.png", "type": "image/png", "sizes": "144x144" }, { - "src": "/icons/apple-icon-120x120.png", + "src": "icons/apple-icon-120x120.png", "type": "image/png", "sizes": "120x120" }, { - "src": "/icons/apple-icon-114x114.png", + "src": "icons/apple-icon-114x114.png", "type": "image/png", "sizes": "114x114" }, { - "src": "/icons/favicon-96x96.png", + "src": "icons/favicon-96x96.png", "type": "image/png", "sizes": "96x96" }, { - "src": "/icons/apple-icon-76x76.png", + "src": "icons/apple-icon-76x76.png", "type": "image/png", "sizes": "76x76" }, { - "src": "/icons/apple-icon-72x72.png", + "src": "icons/apple-icon-72x72.png", "type": "image/png", "sizes": "72x72" }, { - "src": "/icons/apple-icon-60x60.png", + "src": "icons/apple-icon-60x60.png", "type": "image/png", "sizes": "60x60" }, { - "src": "/icons/apple-icon-57x57.png", + "src": "icons/apple-icon-57x57.png", "type": "image/png", "sizes": "57x57" }, { - "src": "/icons/favicon-32x32.png", + "src": "icons/favicon-32x32.png", "type": "image/png", "sizes": "32x32" }, { - "src": "/icons/favicon-16x16.png", + "src": "icons/favicon-16x16.png", "type": "image/png", "sizes": "16x16" } From 736d610454c4278e4caa87693cd968936e5f0fce Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 16 Mar 2021 06:34:52 -0400 Subject: [PATCH 091/242] Added save of manifest name or activity order [#177347793] Also added missing tests for offline-manifest-api (minus dexie tests) --- cypress/integration/offline-manifest.test.ts | 2 +- src/components/offline-activities.tsx | 4 +- src/offline-manifest-api.test.ts | 210 +++++++++++++++++++ src/offline-manifest-api.ts | 28 ++- src/types.ts | 2 + 5 files changed, 239 insertions(+), 7 deletions(-) create mode 100644 src/offline-manifest-api.test.ts diff --git a/cypress/integration/offline-manifest.test.ts b/cypress/integration/offline-manifest.test.ts index 30160ed2..c6be9f75 100644 --- a/cypress/integration/offline-manifest.test.ts +++ b/cypress/integration/offline-manifest.test.ts @@ -61,4 +61,4 @@ context("Test using offline manifests", () => { }); }); -*/ \ No newline at end of file +*/ diff --git a/src/components/offline-activities.tsx b/src/components/offline-activities.tsx index 63ff38cc..cc7fd59a 100644 --- a/src/components/offline-activities.tsx +++ b/src/components/offline-activities.tsx @@ -7,11 +7,13 @@ import { Header } from "./activity-header/header"; import "./offline-activities.scss"; const OfflineActivityListRow = (props: {activity: OfflineActivity; onSelectOfflineActivity: (activity: OfflineActivity) => void}) => { + const {name, manifestName} = props.activity; + const displayName = manifestName.length > 0 ? `${manifestName}: ${name}` : name; const handleSelectActivity = () => props.onSelectOfflineActivity(props.activity); return ( TDB - {props.activity.name} + {displayName} ); }; diff --git a/src/offline-manifest-api.test.ts b/src/offline-manifest-api.test.ts new file mode 100644 index 00000000..ea0884cb --- /dev/null +++ b/src/offline-manifest-api.test.ts @@ -0,0 +1,210 @@ +import fetch from "jest-fetch-mock"; + +import { cacheOfflineManifest, clearOfflineManifestAuthoringData, clearOfflineManifestAuthoringId, getOfflineManifest, getOfflineManifestAuthoringData, getOfflineManifestAuthoringDownloadJSON, getOfflineManifestAuthoringId, getOfflineManifestUrl, mergeOfflineManifestWithAuthoringData, normalizeAndSortOfflineActivities, OfflineManifestAuthoringData, OfflineManifestAuthoringDataKeyPrefix, OfflineManifestAuthoringIdKey, setOfflineManifestAuthoringData, setOfflineManifestAuthoringId } from "./offline-manifest-api"; +import { OfflineManifest } from "./types"; + +(window as any).fetch = fetch; + +describe("offline manifest api", () => { + + it("handles #getOfflineManifestUrl", () => { + expect(getOfflineManifestUrl("foo")).toBe("offline-manifests/foo.json"); + expect(getOfflineManifestUrl("https://foo")).toBe("https://foo"); + }); + + it("handles #getOfflineManifest", (done) => { + const testManifest: OfflineManifest = { + name: "Test Manifest", + activities: [], + cacheList: [] + }; + fetch.mockResponse(JSON.stringify(testManifest)); + const resp = getOfflineManifest("test"); + expect(fetch.mock.calls[0][0]).toEqual("offline-manifests/test.json"); + expect(resp).toBeInstanceOf(Promise); + resp!.then(data => { + expect(data).toEqual(testManifest); + done(); + }); + }); + + it("handles #cacheOfflineManifest", (done) => { + const testManifest: OfflineManifest = { + name: "Test Manifest", + activities: [ + { + name: "Activity 1", + resourceUrl: "http://example.com/activity-1-resource-url", + contentUrl: "http://example.com/activity-1-content-url" + }, + { + name: "Activity 2", + resourceUrl: "http://example.com/activity-2-resource-url", + contentUrl: "http://example.com/activity-2-content-url" + } + ], + cacheList: [ + "http://example.com/cache-list-item-1", + "http://example.com/cache-list-item-2" + ] + }; + fetch.mockResponse(""); + const onCachingStarted = jest.fn(); + const onUrlCached = jest.fn(); + const onUrlCacheFailed = jest.fn(); + const onAllUrlsCached = jest.fn(); + const onAllUrlsCacheFailed = jest.fn(); + const resp = cacheOfflineManifest({ + offlineManifest: testManifest, + onCachingStarted, + onUrlCached, + onAllUrlsCacheFailed, + onAllUrlsCached, + onUrlCacheFailed + }); + expect(resp).toBeInstanceOf(Promise); + resp!.then(() => { + expect(onCachingStarted).toHaveBeenCalledWith([ + "http://example.com/activity-1-content-url", + "http://example.com/activity-2-content-url", + "http://example.com/cache-list-item-1", + "http://example.com/cache-list-item-2" + ]); + expect(onUrlCached).toHaveBeenCalledTimes(4); + expect(onAllUrlsCached).toHaveBeenCalledTimes(1); + expect(onUrlCacheFailed).not.toHaveBeenCalled(); + expect(onAllUrlsCacheFailed).not.toHaveBeenCalled(); + done(); + }); + }); + + it("handles #setOfflineManifestAuthoringId", () => { + jest.spyOn(window.localStorage.__proto__, "setItem"); + setOfflineManifestAuthoringId(undefined); + expect(window.localStorage.setItem).not.toHaveBeenCalled(); + setOfflineManifestAuthoringId("test"); + expect(window.localStorage.setItem).toHaveBeenCalledWith(OfflineManifestAuthoringIdKey, "test"); + }); + + it("handles #clearOfflineManifestAuthoringId", () => { + jest.spyOn(window.localStorage.__proto__, "removeItem"); + clearOfflineManifestAuthoringId(); + expect(window.localStorage.removeItem).toHaveBeenCalledWith(OfflineManifestAuthoringIdKey); + }); + + it("handles #getOfflineManifestAuthoringId", () => { + jest.spyOn(window.localStorage.__proto__, "getItem"); + getOfflineManifestAuthoringId(); + expect(window.localStorage.getItem).toHaveBeenCalledWith(OfflineManifestAuthoringIdKey); + }); + + it("handles #getOfflineManifestAuthoringData", () => { + jest.spyOn(window.localStorage.__proto__, "getItem"); + getOfflineManifestAuthoringData("test"); + expect(window.localStorage.getItem).toHaveBeenCalledWith(`${OfflineManifestAuthoringDataKeyPrefix}:test`); + }); + + it("handles #setOfflineManifestAuthoringData", () => { + const data: OfflineManifestAuthoringData = {activities: [], cacheList: []}; + jest.spyOn(window.localStorage.__proto__, "setItem"); + setOfflineManifestAuthoringData("test", data); + expect(window.localStorage.setItem).toHaveBeenCalledWith(`${OfflineManifestAuthoringDataKeyPrefix}:test`, JSON.stringify(data)); + }); + + it("handles #clearOfflineManifestAuthoringData", () => { + jest.spyOn(window.localStorage.__proto__, "removeItem"); + clearOfflineManifestAuthoringData("test"); + expect(window.localStorage.removeItem).toHaveBeenCalledWith(`${OfflineManifestAuthoringDataKeyPrefix}:test`); + }); + + it("handles #getOfflineManifestAuthoringDownloadJSON", () => { + const data: OfflineManifestAuthoringData = {activities: [], cacheList: []}; + expect(getOfflineManifestAuthoringDownloadJSON("test", data)).toEqual({name: "test", activities: [], cacheList: []}); + }); + + it("handles #mergeOfflineManifestWithAuthoringData", () => { + const testManifest: OfflineManifest = { + name: "Test Manifest", + activities: [ + { + name: "Activity 1", + resourceUrl: "http://example.com/activity-1-resource-url", + contentUrl: "http://example.com/activity-1-content-url" + }, + { + name: "Activity 2", + resourceUrl: "http://example.com/activity-2-resource-url", + contentUrl: "http://example.com/activity-2-content-url" + } + ], + cacheList: [ + "http://example.com/cache-list-item-1", + "http://example.com/cache-list-item-2" + ] + }; + const authoringData: OfflineManifestAuthoringData = { + activities: [ + { + name: "Activity 3", + resourceUrl: "http://example.com/activity-3-resource-url", + contentUrl: "http://example.com/activity-3-content-url" + } + ], + cacheList: [ + "http://example.com/cache-list-item-3", + "http://example.com/cache-list-item-4" + ] + }; + expect(mergeOfflineManifestWithAuthoringData(testManifest, authoringData)).toEqual({ + activities: [ + { + name: "Activity 3", + resourceUrl: "http://example.com/activity-3-resource-url", + contentUrl: "http://example.com/activity-3-content-url" + }, + { + name: "Activity 1", + resourceUrl: "http://example.com/activity-1-resource-url", + contentUrl: "http://example.com/activity-1-content-url" + }, + { + name: "Activity 2", + resourceUrl: "http://example.com/activity-2-resource-url", + contentUrl: "http://example.com/activity-2-content-url" + }, + ], + cacheList: [ + "http://example.com/cache-list-item-3", + "http://example.com/cache-list-item-4", + "http://example.com/cache-list-item-1", + "http://example.com/cache-list-item-2", + ] + }); + }); + + it("handles #saveOfflineManifestToOfflineActivities", () => { + // TODO: add Dexie stubs, example here: https://stackoverflow.com/a/54134903 + expect(true).toEqual(true); + }); + + it("handles #normalizeAndSortOfflineActivities", () => { + expect(normalizeAndSortOfflineActivities([ + {name: "Activity 5", resourceUrl: "http://example.com/activity-5-resource-url", contentUrl: "http://example.com/activity-5-context-url", manifestName: "Manifest 3", order: 0}, + {name: "Activity 2", resourceUrl: "http://example.com/activity-2-resource-url", contentUrl: "http://example.com/activity-2-context-url", manifestName: "Manifest 1", order: 1}, + {name: "Activity 4", resourceUrl: "http://example.com/activity-4-resource-url", contentUrl: "http://example.com/activity-4-context-url", manifestName: "Manifest 2", order: 1}, + {name: "Activity 1", resourceUrl: "http://example.com/activity-1-resource-url", contentUrl: "http://example.com/activity-1-context-url", manifestName: "Manifest 1", order: 0}, + {name: "Activity 3", resourceUrl: "http://example.com/activity-3-resource-url", contentUrl: "http://example.com/activity-3-context-url", manifestName: "Manifest 2", order: 0}, + ])).toEqual([ + {name: "Activity 1", resourceUrl: "http://example.com/activity-1-resource-url", contentUrl: "http://example.com/activity-1-context-url", manifestName: "Manifest 1", order: 0}, + {name: "Activity 2", resourceUrl: "http://example.com/activity-2-resource-url", contentUrl: "http://example.com/activity-2-context-url", manifestName: "Manifest 1", order: 1}, + {name: "Activity 3", resourceUrl: "http://example.com/activity-3-resource-url", contentUrl: "http://example.com/activity-3-context-url", manifestName: "Manifest 2", order: 0}, + {name: "Activity 4", resourceUrl: "http://example.com/activity-4-resource-url", contentUrl: "http://example.com/activity-4-context-url", manifestName: "Manifest 2", order: 1}, + {name: "Activity 5", resourceUrl: "http://example.com/activity-5-resource-url", contentUrl: "http://example.com/activity-5-context-url", manifestName: "Manifest 3", order: 0}, + ]); + }); + + it("handles #getOfflineActivities", () => { + // TODO: add Dexie stubs, example here: https://stackoverflow.com/a/54134903 + expect(true).toEqual(true); + }); +}); diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index ad06bc5b..4ecaa2aa 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -1,5 +1,5 @@ import { dexieStorage } from "./storage/dexie-storage"; -import { OfflineManifest, OfflineManifestActivity } from "./types"; +import { OfflineActivity, OfflineManifest, OfflineManifestActivity } from "./types"; export interface OfflineManifestAuthoringData { activities: OfflineManifestActivity[]; @@ -117,16 +117,34 @@ export const mergeOfflineManifestWithAuthoringData = (offlineManifest: OfflineMa }; export const saveOfflineManifestToOfflineActivities = async (offlineManifest: OfflineManifest) => { - const promises = offlineManifest.activities.map(async (offlineManifestActivity) => { + const manifestName = offlineManifest.name; + const promises = offlineManifest.activities.map(async (offlineManifestActivity, order) => { const {name, resourceUrl, contentUrl} = offlineManifestActivity; const offlineActivity = await dexieStorage.offlineActivities.get({resourceUrl}); if (offlineActivity) { - await dexieStorage.offlineActivities.update(resourceUrl, {name, resourceUrl, contentUrl}); + await dexieStorage.offlineActivities.update(resourceUrl, {name, resourceUrl, contentUrl, manifestName, order}); } else { - await dexieStorage.offlineActivities.put({name, resourceUrl, contentUrl}); + await dexieStorage.offlineActivities.put({name, resourceUrl, contentUrl, manifestName, order}); } }); await Promise.all(promises); }; -export const getOfflineActivities = async () => await dexieStorage.offlineActivities.toArray(); +export const normalizeAndSortOfflineActivities = (rawList: OfflineActivity[]) => { + // ensure older saved offline activities have a defined manifest name and order + const normalizedList = rawList.map((item, order) => ({...item, manifestName: item.manifestName ?? "", order: item.order ?? order})); + normalizedList.sort((a, b) => { + const nameSort = a.manifestName.localeCompare(b.manifestName); + if (nameSort === 0) { + return a.order - b.order; + } else { + return nameSort; + } + }); + return normalizedList; +}; + +export const getOfflineActivities = async () => { + const offlineActivities = await dexieStorage.offlineActivities.toArray(); + return normalizeAndSortOfflineActivities(offlineActivities); +}; diff --git a/src/types.ts b/src/types.ts index b4734f12..ca8edb5c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -279,6 +279,8 @@ export interface OfflineManifest { } export interface OfflineActivity extends OfflineManifestActivity { + manifestName: string; + order: number; // TBD: add class info once that is figured out } From 60b25a590bc6e3f60290a9d3171b391d049c1f1c Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 16 Mar 2021 06:50:23 -0400 Subject: [PATCH 092/242] Fixed lint errors --- cypress/integration/data-saving-anonymous.ts | 8 ++++---- cypress/integration/offline-manifest.test.ts | 2 +- cypress/support/index.d.ts | 2 ++ src/portal-api.test.ts | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/cypress/integration/data-saving-anonymous.ts b/cypress/integration/data-saving-anonymous.ts index 8d3c1bc4..56645022 100644 --- a/cypress/integration/data-saving-anonymous.ts +++ b/cypress/integration/data-saving-anonymous.ts @@ -1,8 +1,8 @@ -import { v4 as uuidv4 } from "uuid"; -import ActivityPage from "../support/elements/activity-page"; -import { getIframeBody } from "../support/elements/iframe"; +// import { v4 as uuidv4 } from "uuid"; +// import ActivityPage from "../support/elements/activity-page"; +// import { getIframeBody } from "../support/elements/iframe"; -const activityPage = new ActivityPage; +// const activityPage = new ActivityPage; context("Saving and loading data as an anonymous user", () => { diff --git a/cypress/integration/offline-manifest.test.ts b/cypress/integration/offline-manifest.test.ts index 30160ed2..c6be9f75 100644 --- a/cypress/integration/offline-manifest.test.ts +++ b/cypress/integration/offline-manifest.test.ts @@ -61,4 +61,4 @@ context("Test using offline manifests", () => { }); }); -*/ \ No newline at end of file +*/ diff --git a/cypress/support/index.d.ts b/cypress/support/index.d.ts index 5fc01cd2..482bc901 100644 --- a/cypress/support/index.d.ts +++ b/cypress/support/index.d.ts @@ -3,6 +3,8 @@ // extend Cypress with commands from cypress-localstorage-commands package declare namespace Cypress { + + // eslint-disable-next-line @typescript-eslint/no-unused-vars interface Chainable { /** diff --git a/src/portal-api.test.ts b/src/portal-api.test.ts index 20885434..67bb18b5 100644 --- a/src/portal-api.test.ts +++ b/src/portal-api.test.ts @@ -68,4 +68,4 @@ describe("getToolId", () => { (window as any).location = location; }); -}); \ No newline at end of file +}); From 3c6debcffe96ab4a57c4988cfed8f1a985cfa142 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 16 Mar 2021 14:58:05 -0400 Subject: [PATCH 093/242] Fix some issues post merge. Add `orderedQuestionsOnPage` helper # Conflicts: # cypress/integration/opening-reports.test.ts # src/components/activity-completion/completion-page-content.tsx --- .../completion-page-content.tsx | 38 +++++++++---------- src/utilities/activity-utils.ts | 8 ++++ 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/components/activity-completion/completion-page-content.tsx b/src/components/activity-completion/completion-page-content.tsx index 0c6e3169..ed62eefa 100644 --- a/src/components/activity-completion/completion-page-content.tsx +++ b/src/components/activity-completion/completion-page-content.tsx @@ -6,7 +6,7 @@ import { showReport } from "../../utilities/report-utils"; import { Sequence, Activity, EmbeddableWrapper, Page } from "../../types"; import { renderHTML } from "../../utilities/render-html"; import { getStorage } from "../../storage/storage-facade"; -import { isQuestion } from "../../utilities/activity-utils"; +import { isQuestion, orderedQuestionsOnPage } from "../../utilities/activity-utils"; import { refIdToAnswersQuestionId } from "../../utilities/embeddable-utils"; import { SummaryTable, IQuestionStatus } from "./summary-table"; //import { CompletionExportAnswers } from "./completion-export-answers"; @@ -64,21 +64,19 @@ export const CompletionPageContent: React.FC = (props) => { const questionsStatus = Array(); currentActivity.pages.forEach((page: Page, index) => { const pageNum = index + 1; - page.embeddables.forEach((embeddableWrapper: EmbeddableWrapper) => { - if (isQuestion(embeddableWrapper)) { - numQuestions++; - const questionId = refIdToAnswersQuestionId(embeddableWrapper.embeddable.ref_id); - const authored_state = embeddableWrapper.embeddable.authored_state - ? JSON.parse(embeddableWrapper.embeddable.authored_state) - : {}; - let questionAnswered = false; - if (answers?.find((answer: any) => answer.meta.question_id === questionId)) { - numAnswers++; //Does't take into account if user erases response after saving - questionAnswered = true; - } - const questionStatus = { number: numQuestions, page: pageNum, prompt: authored_state.prompt, answered: questionAnswered }; - questionsStatus.push(questionStatus); + orderedQuestionsOnPage(page).forEach((embeddableWrapper: EmbeddableWrapper) => { + numQuestions++; + const questionId = refIdToAnswersQuestionId(embeddableWrapper.embeddable.ref_id); + const authored_state = embeddableWrapper.embeddable.authored_state + ? JSON.parse(embeddableWrapper.embeddable.authored_state) + : {}; + let questionAnswered = false; + if (answers?.find((answer: any) => answer.meta.question_id === questionId)) { + numAnswers++; //Does't take into account if user erases response after saving + questionAnswered = true; } + const questionStatus = { number: numQuestions, page: pageNum, prompt: authored_state.prompt, answered: questionAnswered }; + questionsStatus.push(questionStatus); }); }); return ({ numAnswers, numQuestions, questionsStatus }); @@ -139,10 +137,12 @@ export const CompletionPageContent: React.FC = (props) => {
    {progressText}
    - { // - // - // {showStudentReport && } - } + + { // TODO: Put in Ethan's buttons, connect with `handleShowAnswers` + // + // + // {showStudentReport && } + }
    {sequence && !isLastActivityInSequence && diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index fdbf37ba..4e6f1eec 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -215,4 +215,12 @@ export const getAllUrlsInActivity = (activity: Activity, urls: string[] = []) => return urls; }; +export const orderedQuestionsOnPage = (page:Page) => { + const embeddables = getVisibleEmbeddablesOnPage(page); + let questions = embeddables.headerBlock.filter( (e) => isQuestion(e)); + questions = questions.concat(embeddables.infoAssessment.filter( (e) => isQuestion(e))); + questions = questions.concat(embeddables.interactiveBox.filter( (e) => isQuestion(e))); + return questions; +}; + export const isNotSampleActivityUrl = (url: string) => /https?:\/\//.test(url) || /^offline-activities\//.test(url); From f46d3dfad287f1b45d2bfdd1b2a66658a7f52cbd Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 16 Mar 2021 15:43:37 -0400 Subject: [PATCH 094/242] Add tests for `getVisibleEmbeddablesOnPage` --- src/data/sample-activity-hidden-content.json | 2 +- src/utilities/activity-utils.test.ts | 20 +++++++++++++++++++- src/utilities/activity-utils.ts | 3 +++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/data/sample-activity-hidden-content.json b/src/data/sample-activity-hidden-content.json index 5b223f74..0061d854 100644 --- a/src/data/sample-activity-hidden-content.json +++ b/src/data/sample-activity-hidden-content.json @@ -1,5 +1,5 @@ { - "description": "

    This activity contains a hidden page and a hidden question on each page.  There are 4 total pages, but only 3 should be displayed.  On the displayed pages, each contains 3 questions but only 2 should be shown (each contains a hidden question) and the interactive block section is hidden. 

    ", + "description": "

    This activity contains a hidden page and a hidden question on each page.  There are 4 total pages, but only 3 should be displayed.  On the displayed pages, each contains 3 questions but only 2 should be shown (each contains a hidden question) and the interactive block section is hidden.  There are no question on the forth page.

    ", "editor_mode": 0, "layout": 0, "name": "Hidden Content Activity", diff --git a/src/utilities/activity-utils.test.ts b/src/utilities/activity-utils.test.ts index 686bf111..429d7855 100644 --- a/src/utilities/activity-utils.test.ts +++ b/src/utilities/activity-utils.test.ts @@ -1,6 +1,6 @@ import { Activity } from "../types"; import { isQuestion, isEmbeddableSectionHidden, getVisibleEmbeddablesOnPage, VisibleEmbeddables, - EmbeddableSections, getPageSectionQuestionCount, numQuestionsOnPreviousPages, enableReportButton, getPagePositionFromQueryValue, isNotSampleActivityUrl } from "./activity-utils"; + EmbeddableSections, getPageSectionQuestionCount, numQuestionsOnPreviousPages, enableReportButton, getPagePositionFromQueryValue, isNotSampleActivityUrl, orderedQuestionsOnPage } from "./activity-utils"; import _activityHidden from "../data/sample-activity-hidden-content.json"; import _activity from "../data/sample-activity-multiple-layout-types.json"; import { DefaultTestActivity } from "../test-utils/model-for-tests"; @@ -100,4 +100,22 @@ describe("Activity utility functions", () => { expect(isNotSampleActivityUrl("http://example.com/foo")).toBe(true); expect(isNotSampleActivityUrl("offline-activities/foo")).toBe(true); }); + + it("Returns an ordered list of questions, taking into account the layout of sections", () => { + const page = activity.pages[0]; + const expectedRefIds = [ + "319-ManagedInteractive", // In header block, but defined last + "312-ManagedInteractive", // Section is null + "313-ManagedInteractive", // Section is null + "352-ManagedInteractive" // Section is null + ]; + const foundRefIds = orderedQuestionsOnPage(page).map( e=> e.embeddable.ref_id); + expect(foundRefIds).toEqual(expectedRefIds); + // In the hidden activity we only expect to find: + // page0: 2 visible, page1: no visible, page2: 2 visible, page3: 0 visible + expect(orderedQuestionsOnPage(activityHidden.pages[0]).length).toEqual(2); + expect(orderedQuestionsOnPage(activityHidden.pages[1]).length).toEqual(0); + expect(orderedQuestionsOnPage(activityHidden.pages[2]).length).toEqual(2); + expect(orderedQuestionsOnPage(activityHidden.pages[3]).length).toEqual(0); + }); }); diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index 4e6f1eec..7dd81fe7 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -43,6 +43,9 @@ export const isEmbeddableSectionHidden = (page: Page, section: string | null) => }; export const getVisibleEmbeddablesOnPage = (page: Page) => { + if(page.is_hidden) { + return { interactiveBox: [], headerBlock: [], infoAssessment: [] }; + } const headerEmbeddables = isEmbeddableSectionHidden(page, EmbeddableSections.Introduction) ? [] : page.embeddables.filter((e: any) => e.section === EmbeddableSections.Introduction && isVisibleEmbeddable(e)); From 624df547637c9cbea6d8a212f5ea90745bc11804 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 16 Mar 2021 15:53:41 -0400 Subject: [PATCH 095/242] fix typos --- src/data/sample-activity-hidden-content.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/sample-activity-hidden-content.json b/src/data/sample-activity-hidden-content.json index 0061d854..be7a30e7 100644 --- a/src/data/sample-activity-hidden-content.json +++ b/src/data/sample-activity-hidden-content.json @@ -1,5 +1,5 @@ { - "description": "

    This activity contains a hidden page and a hidden question on each page.  There are 4 total pages, but only 3 should be displayed.  On the displayed pages, each contains 3 questions but only 2 should be shown (each contains a hidden question) and the interactive block section is hidden.  There are no question on the forth page.

    ", + "description": "

    This activity contains a hidden page and a hidden question on each page.  There are 4 total pages, but only 3 should be displayed.  On the displayed pages, each contains 3 questions but only 2 should be shown (each contains a hidden question) and the interactive block section is hidden.  There are no questions on the fourth page.

    ", "editor_mode": 0, "layout": 0, "name": "Hidden Content Activity", From 83d7aec2a77ca69d5cfd5a198042cb97372d7173 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 16 Mar 2021 17:54:48 -0400 Subject: [PATCH 096/242] Final page of activity, submit or store answers PT Story: https://www.pivotaltracker.com/story/show/177144932 [#177144932] Adds ReportBackupOptions component containing submit/upload and store/download buttons. --- .../completion-page-content.scss | 5 ++ .../completion-page-content.test.tsx | 3 +- .../completion-page-content.tsx | 25 ++++---- .../report-backup-options.scss | 59 +++++++++++++++++++ .../report-backup-options.tsx | 56 ++++++++++++++++++ src/components/app.tsx | 2 + 6 files changed, 136 insertions(+), 14 deletions(-) create mode 100644 src/components/activity-completion/report-backup-options.scss create mode 100644 src/components/activity-completion/report-backup-options.tsx diff --git a/src/components/activity-completion/completion-page-content.scss b/src/components/activity-completion/completion-page-content.scss index 64050ac4..350bd093 100644 --- a/src/components/activity-completion/completion-page-content.scss +++ b/src/components/activity-completion/completion-page-content.scss @@ -68,6 +68,11 @@ margin: 0; padding: 0; + &.with-backup-options { + margin-right: 30px; + width: 570px; + } + button { align-items: center; display: flex; diff --git a/src/components/activity-completion/completion-page-content.test.tsx b/src/components/activity-completion/completion-page-content.test.tsx index 5231969e..e090848e 100644 --- a/src/components/activity-completion/completion-page-content.test.tsx +++ b/src/components/activity-completion/completion-page-content.test.tsx @@ -15,7 +15,8 @@ describe("Completion Page Content component", () => { + showStudentReport={true} + showReportBackupOptions={false}/> ); expect(wrapperComplete.find('[data-cy="completion-page-content"]').length).toBe(1); expect(wrapperComplete.find('[data-cy="progress-container"]').length).toBe(1); diff --git a/src/components/activity-completion/completion-page-content.tsx b/src/components/activity-completion/completion-page-content.tsx index ed62eefa..aa9108c3 100644 --- a/src/components/activity-completion/completion-page-content.tsx +++ b/src/components/activity-completion/completion-page-content.tsx @@ -6,11 +6,10 @@ import { showReport } from "../../utilities/report-utils"; import { Sequence, Activity, EmbeddableWrapper, Page } from "../../types"; import { renderHTML } from "../../utilities/render-html"; import { getStorage } from "../../storage/storage-facade"; -import { isQuestion, orderedQuestionsOnPage } from "../../utilities/activity-utils"; +import { orderedQuestionsOnPage } from "../../utilities/activity-utils"; import { refIdToAnswersQuestionId } from "../../utilities/embeddable-utils"; import { SummaryTable, IQuestionStatus } from "./summary-table"; -//import { CompletionExportAnswers } from "./completion-export-answers"; -//import { CompletionReportMyWork } from "./completion-report-my-work"; +import { ReportBackupOptions } from "./report-backup-options"; import ccPlaceholderLogo from "../../assets/cc-placeholder.png"; import "./completion-page-content.scss"; @@ -20,6 +19,7 @@ interface IProps { activityName: string; onPageChange: (page: number) => void; showStudentReport: boolean; + showReportBackupOptions: boolean; onOpenReport?: () => void; sequence?: Sequence; activityIndex?: number; @@ -28,8 +28,9 @@ interface IProps { } export const CompletionPageContent: React.FC = (props) => { - const { activity, activityName, onPageChange, showStudentReport, - sequence, activityIndex, onActivityChange, onShowSequence } = props; + const { activity, activityName, onPageChange, showStudentReport, + showReportBackupOptions, sequence, activityIndex, onActivityChange, + onShowSequence } = props; const [answers, setAnswers] = useState(); @@ -119,6 +120,8 @@ export const CompletionPageContent: React.FC = (props) => { progressText = isActivityComplete ? completedActivityProgressText : incompleteActivityProgressText; } + const exitContainerClass = showReportBackupOptions ? "exit-container with-backup-options" : "exit-container"; + return ( !answers ?
    @@ -137,13 +140,6 @@ export const CompletionPageContent: React.FC = (props) => {
    {progressText}
    - - { // TODO: Put in Ethan's buttons, connect with `handleShowAnswers` - // - // - // {showStudentReport && } - } -
    {sequence && !isLastActivityInSequence &&
    @@ -166,7 +162,7 @@ export const CompletionPageContent: React.FC = (props) => {
    } -
    +

    Summary of Work: {activityTitle}

    {showStudentReport && } @@ -177,6 +173,9 @@ export const CompletionPageContent: React.FC = (props) => {
    }
    + {showReportBackupOptions && + + }
    ); }; diff --git a/src/components/activity-completion/report-backup-options.scss b/src/components/activity-completion/report-backup-options.scss new file mode 100644 index 00000000..9d69b00c --- /dev/null +++ b/src/components/activity-completion/report-backup-options.scss @@ -0,0 +1,59 @@ +@import "../vars.scss"; + +.report-backup-options { + border: solid 1.5px $cc-charcoal-light2; + border-radius: 10px; + display: flex; + flex-wrap: wrap; + height: fit-content; + padding: 20px; + width: 260px; + + .report-backup-option { + display: flex; + flex-wrap: wrap; + height: fit-content; + margin-bottom: 30px; + + &.disabled { + opacity: 0.35; + } + &:last-child { + margin-bottom: 0; + } + } + + a.button, button { + align-items: center; + display: flex; + justify-content: center; + margin-bottom: 8px; + padding: 0; + text-decoration: none; + width: 100%; + + svg { + fill: $cc-orange-dark1; + margin-right: 5px; + } + } + h2 { + border-bottom: solid 1px $cc-charcoal-light2; + margin: 0 0 10px; + padding: 0 0 14px; + width: 100%; + } + p { + font-size: 14px; + margin: 0; + padding: 0; + width: 226px; + + &:last-child { + margin-bottom: 0; + } + } + svg { + margin-right: 5px; + } +} \ No newline at end of file diff --git a/src/components/activity-completion/report-backup-options.tsx b/src/components/activity-completion/report-backup-options.tsx new file mode 100644 index 00000000..92af0e98 --- /dev/null +++ b/src/components/activity-completion/report-backup-options.tsx @@ -0,0 +1,56 @@ +import React from "react"; +import IconFileDownload from "../../assets/svg-icons/icon-file-download.svg"; +import IconFileUpload from "../../assets/svg-icons/icon-file-upload.svg"; +import IconHelp from "../../assets/svg-icons/icon-help.svg"; +import { getStorage } from "../../storage/storage-facade"; + +import "./report-backup-options.scss"; + +interface IProps {} + +interface IState { + activityJSON: string, + filename: string +} + +export class ReportBackupOptions extends React.PureComponent { + public constructor(props: IProps) { + super(props); + this.state = {activityJSON: "", filename: "activity"}; + } + + async componentDidMount() { + const storage = await getStorage(); + const activityJSONComplete = await storage.exportActivityToJSON(); + const filename = activityJSONComplete.filename; + this.setState({ activityJSON: JSON.stringify(activityJSONComplete), filename }); + } + + render() { + const { activityJSON, filename } = this.state; + const bb = new Blob([activityJSON], { type: "text/plain" }); + const activityLink = window.URL.createObjectURL(bb); + const storage = getStorage(); + const reportOptionClass = storage.canSyncData() ? "report-backup-option" : "report-backup-option disabled"; + const reportButtonDisabled = !storage.canSyncData(); + const reportAction = storage.canSyncData() + ? () => storage.syncData() + : () => null; + + return ( +
    +

    Reporting/Backing Up My Work

    +
    + + +

    Share any work you have done in this activity with your teacher. You will have to be connected to the internet.

    +
    +
    + Back Up My Work + +

    Back up your answers to create a desktop file that you can send to your teacher by email.

    +
    +
    + ); + } +} diff --git a/src/components/app.tsx b/src/components/app.tsx index 087aec85..dd384bb0 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -531,12 +531,14 @@ export class App extends React.PureComponent { } private renderCompletionContent = (activity: Activity) => { + const showReportBackupOptions = this.state.offlineMode || queryValueBoolean("__forceOfflineData"); return ( Date: Wed, 17 Mar 2021 13:42:19 -0400 Subject: [PATCH 097/242] Add plugin API support for offline - Added offlineMode flag to runtime plugin context --- .../activity-page/activity-page-content.test.tsx | 1 + src/components/activity-page/activity-page-content.tsx | 3 +++ src/components/activity-page/embeddable.test.tsx | 8 ++++---- src/components/activity-page/embeddable.tsx | 7 ++++--- .../plugins/embeddable-plugin-sidetip.test.tsx | 2 +- .../activity-page/plugins/embeddable-plugin-sidetip.tsx | 5 +++-- .../activity-page/plugins/embeddable-plugin.test.tsx | 2 +- .../activity-page/plugins/embeddable-plugin.tsx | 5 +++-- .../activity-page/plugins/glossary-plugin.test.tsx | 2 +- src/components/activity-page/plugins/glossary-plugin.tsx | 5 +++-- src/components/app.tsx | 7 ++++++- .../expandable-content/expandable-container.test.tsx | 4 ++-- .../expandable-content/expandable-container.tsx | 4 +++- src/components/single-page/single-page-content.test.tsx | 4 ++-- src/components/single-page/single-page-content.tsx | 4 +++- src/lara-plugin/plugins/plugin-context.spec.ts | 3 ++- src/lara-plugin/plugins/plugin-context.ts | 2 ++ src/lara-plugin/plugins/plugins.spec.ts | 3 ++- src/utilities/plugin-utils.ts | 5 +++-- 19 files changed, 49 insertions(+), 27 deletions(-) diff --git a/src/components/activity-page/activity-page-content.test.tsx b/src/components/activity-page/activity-page-content.test.tsx index e6b5db10..b88a8bc7 100644 --- a/src/components/activity-page/activity-page-content.test.tsx +++ b/src/components/activity-page/activity-page-content.test.tsx @@ -17,6 +17,7 @@ describe("Activity Page Content component", () => { totalPreviousQuestions={5} setNavigation={stubFunction} pluginsLoaded={true} + offlineMode={false} />); expect(getByTestId("page-content")).toBeDefined(); expect(getByText("Hide")).toBeEnabled(); diff --git a/src/components/activity-page/activity-page-content.tsx b/src/components/activity-page/activity-page-content.tsx index c8b44fbc..f997ff9b 100644 --- a/src/components/activity-page/activity-page-content.tsx +++ b/src/components/activity-page/activity-page-content.tsx @@ -24,6 +24,7 @@ interface IProps { totalPreviousQuestions: number; setNavigation: (refId: string, options: INavigationOptions) => void; pluginsLoaded: boolean; + offlineMode: boolean; } interface IState { @@ -132,6 +133,7 @@ export class ActivityPageContent extends React.PureComponent { } private renderEmbeddables = (embeddables: EmbeddableWrapper[], section: EmbeddableSections, totalPreviousQuestions: number) => { + const {offlineMode} = this.props; let questionNumber = totalPreviousQuestions; return ( @@ -155,6 +157,7 @@ export class ActivityPageContent extends React.PureComponent { teacherEditionMode={this.props.teacherEditionMode} setNavigation={this.props.setNavigation} pluginsLoaded={this.props.pluginsLoaded} + offlineMode={offlineMode} /> ); }) diff --git a/src/components/activity-page/embeddable.test.tsx b/src/components/activity-page/embeddable.test.tsx index 4e40d2ee..768e19b7 100644 --- a/src/components/activity-page/embeddable.test.tsx +++ b/src/components/activity-page/embeddable.test.tsx @@ -18,7 +18,7 @@ describe("Embeddable component", () => { "section": "header_block" }; - const wrapper = mount(); + const wrapper = mount(); expect(wrapper.find(".textbox").hasClass("callout")).toBe(false); expect(wrapper.text()).toContain("This is a page"); }); @@ -33,7 +33,7 @@ describe("Embeddable component", () => { "section": "header_block" }; - const wrapper = mount(); + const wrapper = mount(); expect(wrapper.find(".textbox").hasClass("callout")).toBe(true); expect(wrapper.text()).toContain("This is a callout text box"); }); @@ -47,7 +47,7 @@ describe("Embeddable component", () => { "section": "interactive_box" }; - const wrapper = mount(); + const wrapper = mount(); expect(wrapper.text()).toContain("Content type not supported"); }); @@ -67,7 +67,7 @@ describe("Embeddable component", () => { // Disable interactive state observing for this test. (embeddableWrapper.embeddable as IManagedInteractive).library_interactive!.data!.enable_learner_state = false; - const wrapper = mount(); + const wrapper = mount(); expect(wrapper.find("ManagedInteractive").length).toBe(1); expect(wrapper.find("iframe").length).toBe(1); expect(wrapper.find('[data-cy="iframe-runtime"]').length).toBe(1); diff --git a/src/components/activity-page/embeddable.tsx b/src/components/activity-page/embeddable.tsx index 715bf140..9cab6c04 100644 --- a/src/components/activity-page/embeddable.tsx +++ b/src/components/activity-page/embeddable.tsx @@ -23,6 +23,7 @@ interface IProps { setNavigation?: (id: string, options: INavigationOptions) => void; pluginsLoaded: boolean; ref?: React.Ref; + offlineMode: boolean; } export interface EmbeddableImperativeAPI { @@ -32,7 +33,7 @@ export interface EmbeddableImperativeAPI { type ISendCustomMessage = (message: ICustomMessage) => void; export const Embeddable: React.ForwardRefExoticComponent = forwardRef((props, ref) => { - const { activityLayout, embeddableWrapper, linkedPluginEmbeddable, pageLayout, pageSection, questionNumber, setNavigation, teacherEditionMode, pluginsLoaded } = props; + const { activityLayout, embeddableWrapper, linkedPluginEmbeddable, pageLayout, pageSection, questionNumber, setNavigation, teacherEditionMode, pluginsLoaded, offlineMode } = props; const embeddable = embeddableWrapper.embeddable; const handleSetNavigation = useCallback((options: INavigationOptions) => { setNavigation?.(embeddable.ref_id, options); @@ -58,7 +59,7 @@ export const Embeddable: React.ForwardRefExoticComponent = forwardRef((p }; const validPluginContext = validateEmbeddablePluginContextForWrappedEmbeddable(pluginContext); if (validPluginContext && teacherEditionMode && pluginsLoaded) { - initializePlugin(validPluginContext); + initializePlugin(validPluginContext, offlineMode); } }, [LARA, linkedPluginEmbeddable, embeddable, teacherEditionMode, pluginsLoaded]); @@ -86,7 +87,7 @@ export const Embeddable: React.ForwardRefExoticComponent = forwardRef((p setSendCustomMessage={setSendCustomMessage} setNavigation={handleSetNavigation} />; } else if (embeddable.type === "Embeddable::EmbeddablePlugin" && embeddable.plugin?.component_label === "windowShade") { - qComponent = teacherEditionMode ? : undefined; + qComponent = teacherEditionMode ? : undefined; } else if (embeddable.type === "Embeddable::Xhtml") { qComponent = ; } else { diff --git a/src/components/activity-page/plugins/embeddable-plugin-sidetip.test.tsx b/src/components/activity-page/plugins/embeddable-plugin-sidetip.test.tsx index e8a48feb..4c0835b1 100644 --- a/src/components/activity-page/plugins/embeddable-plugin-sidetip.test.tsx +++ b/src/components/activity-page/plugins/embeddable-plugin-sidetip.test.tsx @@ -26,7 +26,7 @@ describe("Embeddable Sidetip component", () => { "type": "Embeddable::EmbeddablePlugin", "ref_id": "2991-Embeddable::EmbeddablePlugin" }; - const wrapper = shallow(); + const wrapper = shallow(); expect(wrapper.find('[data-cy="embeddable-plugin-sidetip"]').length).toBe(1); }); }); diff --git a/src/components/activity-page/plugins/embeddable-plugin-sidetip.tsx b/src/components/activity-page/plugins/embeddable-plugin-sidetip.tsx index cba7a2fb..43820a94 100644 --- a/src/components/activity-page/plugins/embeddable-plugin-sidetip.tsx +++ b/src/components/activity-page/plugins/embeddable-plugin-sidetip.tsx @@ -5,10 +5,11 @@ import { LaraGlobalContext } from "../../lara-global-context"; interface IProps { embeddable: IEmbeddablePlugin; + offlineMode: boolean; } export const EmbeddablePluginSideTip: React.FC = (props) => { - const { embeddable } = props; + const { embeddable, offlineMode } = props; const embeddableDivTarget = useRef(null); @@ -20,7 +21,7 @@ export const EmbeddablePluginSideTip: React.FC = (props) => { embeddable, embeddableContainer: embeddableDivTarget.current, approvedScriptLabel: "teacherEditionTips" - }); + }, offlineMode); } }, [LARA, embeddable]); diff --git a/src/components/activity-page/plugins/embeddable-plugin.test.tsx b/src/components/activity-page/plugins/embeddable-plugin.test.tsx index dd96efab..626c6475 100644 --- a/src/components/activity-page/plugins/embeddable-plugin.test.tsx +++ b/src/components/activity-page/plugins/embeddable-plugin.test.tsx @@ -26,7 +26,7 @@ describe("Embeddable component", () => { "type": "Embeddable::EmbeddablePlugin", "ref_id": "2991-Embeddable::EmbeddablePlugin" }; - const wrapper = shallow(); + const wrapper = shallow(); expect(wrapper.find('[data-cy="embeddable-plugin"]').length).toBe(1); }); }); diff --git a/src/components/activity-page/plugins/embeddable-plugin.tsx b/src/components/activity-page/plugins/embeddable-plugin.tsx index 34578564..2b5ea494 100644 --- a/src/components/activity-page/plugins/embeddable-plugin.tsx +++ b/src/components/activity-page/plugins/embeddable-plugin.tsx @@ -9,10 +9,11 @@ import "./embeddable-plugin.scss"; interface IProps { embeddable: IEmbeddablePlugin; pluginsLoaded: boolean; + offlineMode: boolean; } export const EmbeddablePlugin: React.FC = (props) => { - const { embeddable, pluginsLoaded } = props; + const { embeddable, pluginsLoaded, offlineMode } = props; const divTarget = useRef(null); const LARA = useContext(LaraGlobalContext); useEffect(() => { @@ -24,7 +25,7 @@ export const EmbeddablePlugin: React.FC = (props) => { }; const validPluginContext = validateEmbeddablePluginContextForPlugin(pluginContext); if (validPluginContext && pluginsLoaded) { - initializePlugin(validPluginContext); + initializePlugin(validPluginContext, offlineMode); } }, [LARA, embeddable, pluginsLoaded]); return ( diff --git a/src/components/activity-page/plugins/glossary-plugin.test.tsx b/src/components/activity-page/plugins/glossary-plugin.test.tsx index 7937470b..8ae12e92 100644 --- a/src/components/activity-page/plugins/glossary-plugin.test.tsx +++ b/src/components/activity-page/plugins/glossary-plugin.test.tsx @@ -26,7 +26,7 @@ describe("Glossary Plugin component", () => { "type": "Embeddable::EmbeddablePlugin", "ref_id": "" }; - const wrapper = shallow(); + const wrapper = shallow(); expect(wrapper.find('[data-cy="glossary-embeddable-plugin"]').length).toBe(1); }); }); diff --git a/src/components/activity-page/plugins/glossary-plugin.tsx b/src/components/activity-page/plugins/glossary-plugin.tsx index ff31301c..2683d763 100644 --- a/src/components/activity-page/plugins/glossary-plugin.tsx +++ b/src/components/activity-page/plugins/glossary-plugin.tsx @@ -9,10 +9,11 @@ import "./glossary-plugin.scss"; interface IProps { embeddable: IEmbeddablePlugin; pageNumber: number; + offlineMode: boolean; } export const GlossaryPlugin: React.FC = (props) => { - const { embeddable, pageNumber } = props; + const { embeddable, pageNumber, offlineMode } = props; const divTarget = useRef(null); const LARA = useContext(LaraGlobalContext); useEffect(() => { @@ -24,7 +25,7 @@ export const GlossaryPlugin: React.FC = (props) => { }; const validPluginContext = validateEmbeddablePluginContextForPlugin(pluginContext); if (validPluginContext) { - initializePlugin(validPluginContext); + initializePlugin(validPluginContext, offlineMode); } }, [LARA, embeddable]); return ( diff --git a/src/components/app.tsx b/src/components/app.tsx index 087aec85..f86146b8 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -446,16 +446,18 @@ export class App extends React.PureComponent { teacherEditionMode={teacherEditionMode} pluginsLoaded={pluginsLoaded} glossaryPlugin={glossaryEmbeddable !== null} + offlineMode={offlineMode} /> } { glossaryEmbeddable && (activity.layout === ActivityLayouts.SinglePage || !isCompletionPage) && - + } ); } private renderActivityContent = (activity: Activity, currentPage: number, totalPreviousQuestions: number, fullWidth: boolean) => { + const {offlineMode} = this.state; return ( <> { this.state.sequence && this.renderSequenceNav(fullWidth) } @@ -478,6 +480,7 @@ export class App extends React.PureComponent { setNavigation={this.handleSetNavigation} key={`page-${currentPage}`} pluginsLoaded={this.state.pluginsLoaded} + offlineMode={offlineMode} /> } { (activity.layout !== ActivityLayouts.SinglePage || this.state.sequence) && @@ -512,11 +515,13 @@ export class App extends React.PureComponent { } private renderSinglePageContent = (activity: Activity) => { + const {offlineMode} = this.state; return ( ); } diff --git a/src/components/expandable-content/expandable-container.test.tsx b/src/components/expandable-content/expandable-container.test.tsx index 6e3a3214..e7706b67 100644 --- a/src/components/expandable-content/expandable-container.test.tsx +++ b/src/components/expandable-content/expandable-container.test.tsx @@ -10,11 +10,11 @@ const activityPlugins = _activityPlugins as Activity; describe("Expandable container component", () => { it("renders component", () => { - const wrapper = shallow(); + const wrapper = shallow(); expect(wrapper.find('[data-cy="expandable-container"]').length).toBe(1); }); it("renders component content", () => { - const wrapper = shallow(); + const wrapper = shallow(); expect(wrapper.find('[data-cy="expandable-container"]').length).toBe(1); expect(wrapper.find('[data-cy="expandable-container"]').length).toBe(1); expect(wrapper.find('[data-cy="expandable-container"]').length).toBe(1); diff --git a/src/components/expandable-content/expandable-container.tsx b/src/components/expandable-content/expandable-container.tsx index 7644b927..60ed2cd2 100644 --- a/src/components/expandable-content/expandable-container.tsx +++ b/src/components/expandable-content/expandable-container.tsx @@ -17,10 +17,11 @@ interface IProps { teacherEditionMode?: boolean; pluginsLoaded?: boolean; glossaryPlugin?: boolean; + offlineMode: boolean; } export const ExpandableContainer: React.FC = (props) => { - const { activity, page, pageNumber, teacherEditionMode, pluginsLoaded, glossaryPlugin } = props; + const { activity, page, pageNumber, teacherEditionMode, pluginsLoaded, glossaryPlugin, offlineMode } = props; const sideTips = pluginsLoaded && page ? getPageSideTipEmbeddables(activity, page) : []; const verticalOffset = kExpandableContentTop + (sideTips.length + (glossaryPlugin ? 1 : 0)) * (kExpandableItemHeight + kExpandableContentMargin); const sidebars = page && getPageSideBars(activity, page); @@ -30,6 +31,7 @@ export const ExpandableContainer: React.FC = (props) => { ) } { sidebars && sidebars.length > 0 && diff --git a/src/components/single-page/single-page-content.test.tsx b/src/components/single-page/single-page-content.test.tsx index 24932d5f..f6ba93b4 100644 --- a/src/components/single-page/single-page-content.test.tsx +++ b/src/components/single-page/single-page-content.test.tsx @@ -10,11 +10,11 @@ const activitySinglePage = _activitySinglePage as Activity; describe("Single Page Content component", () => { it("renders component", () => { - const wrapper = shallow(); + const wrapper = shallow(); expect(wrapper.find('[data-cy="single-page-content"]').length).toBe(1); }); it("renders component content", () => { - const wrapper = shallow(); + const wrapper = shallow(); expect(wrapper.find('[data-cy="single-page-content"]').length).toBe(1); // should render 10 embeddables, there are 11 total, 1 is hidden expect(wrapper.find(Embeddable).length).toBe(10); diff --git a/src/components/single-page/single-page-content.tsx b/src/components/single-page/single-page-content.tsx index f869b11c..071c8b42 100644 --- a/src/components/single-page/single-page-content.tsx +++ b/src/components/single-page/single-page-content.tsx @@ -12,10 +12,11 @@ interface IProps { activity: Activity; teacherEditionMode?: boolean; pluginsLoaded: boolean; + offlineMode: boolean; } export const SinglePageContent: React.FC = (props) => { - const { activity, teacherEditionMode, pluginsLoaded } = props; + const { activity, teacherEditionMode, pluginsLoaded, offlineMode } = props; let questionNumber = 0; let embeddableNumber = 0; @@ -41,6 +42,7 @@ export const SinglePageContent: React.FC = (props) => { linkedPluginEmbeddable={linkedPluginEmbeddable} teacherEditionMode={teacherEditionMode} pluginsLoaded={pluginsLoaded} + offlineMode={offlineMode} /> ); }) diff --git a/src/lara-plugin/plugins/plugin-context.spec.ts b/src/lara-plugin/plugins/plugin-context.spec.ts index 32a62abb..17c60543 100644 --- a/src/lara-plugin/plugins/plugin-context.spec.ts +++ b/src/lara-plugin/plugins/plugin-context.spec.ts @@ -33,7 +33,8 @@ describe("Plugin runtime context helper", () => { firebaseJwtUrl: "http://firebase.jwt._FIREBASE_APP_.com", wrappedEmbeddable: null, componentLabel: "test", - resourceUrl: "http://lara.activity.com/123" + resourceUrl: "http://lara.activity.com/123", + offlineMode: false }; it("should copy basic properties to runtime context", () => { diff --git a/src/lara-plugin/plugins/plugin-context.ts b/src/lara-plugin/plugins/plugin-context.ts index e1d63055..552f28ed 100644 --- a/src/lara-plugin/plugins/plugin-context.ts +++ b/src/lara-plugin/plugins/plugin-context.ts @@ -53,6 +53,8 @@ export interface IPluginRuntimeContextOptions extends IPluginCommonOptions { embeddablePluginId: number | null; /** URL of the resource associated with the current run (sequence URL or activity URL) */ resourceUrl: string; + /** Flag denoting offline mode of an Activity Player activity */ + offlineMode: boolean; } export interface IPluginAuthoringContextOptions extends IPluginCommonOptions { diff --git a/src/lara-plugin/plugins/plugins.spec.ts b/src/lara-plugin/plugins/plugins.spec.ts index 661148b3..9b16aa36 100644 --- a/src/lara-plugin/plugins/plugins.spec.ts +++ b/src/lara-plugin/plugins/plugins.spec.ts @@ -68,7 +68,8 @@ describe("Plugins", () => { embeddablePluginId: null, wrappedEmbeddable: null, componentLabel: "test", - resourceUrl: "http://lara.activity.com/123" + resourceUrl: "http://lara.activity.com/123", + offlineMode: false }; const authoringContextOptions: IPluginAuthoringContextOptions = { type: "authoring", diff --git a/src/utilities/plugin-utils.ts b/src/utilities/plugin-utils.ts index 10256868..1cb13631 100644 --- a/src/utilities/plugin-utils.ts +++ b/src/utilities/plugin-utils.ts @@ -102,7 +102,7 @@ export const loadLearnerPluginState = async (activity: Activity, teacherEditionM await Promise.all(plugins.map(async (plugin) => await storage.getLearnerPluginState(plugin.id))); }; -export const initializePlugin = (context: IEmbeddablePluginContext) => { +export const initializePlugin = (context: IEmbeddablePluginContext, offlineMode: boolean) => { const { LARA, embeddable, embeddableContainer, wrappedEmbeddable, wrappedEmbeddableContainer, sendCustomMessage, approvedScriptLabel } = context; const usedPlugin = usedPlugins.find(p => p.plugin.approved_script_label === approvedScriptLabel); @@ -139,7 +139,8 @@ export const initializePlugin = (context: IEmbeddablePluginContext) => { classInfoUrl: null, firebaseJwtUrl: "", wrappedEmbeddable: wrappedEmbeddable ? embeddableContextAny : null, - resourceUrl: getResourceUrl() + resourceUrl: getResourceUrl(), + offlineMode }; LARA.Plugins.initPlugin(pluginLabel, pluginContext); }; From 3dd6687d14e3a506ac3849ab9cfb72bd3c6f7c75 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 18 Mar 2021 18:06:02 -0400 Subject: [PATCH 098/242] `IPluginSyncRequest` and handler types. Sync Tracker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DataSyncTracker tracks the status of various plugins and promises while syncing data. Tests include some fake plugins responding to events. Part of [#177304920] — Plugin API changes in Activity Player --- src/lara-plugin/events/index.ts | 29 ++++++ src/storage/data-sync-tracker.test.ts | 142 ++++++++++++++++++++++++++ src/storage/data-sync-tracker.ts | 100 ++++++++++++++++++ 3 files changed, 271 insertions(+) create mode 100644 src/storage/data-sync-tracker.test.ts create mode 100644 src/storage/data-sync-tracker.ts diff --git a/src/lara-plugin/events/index.ts b/src/lara-plugin/events/index.ts index c152aee6..c1cd4639 100644 --- a/src/lara-plugin/events/index.ts +++ b/src/lara-plugin/events/index.ts @@ -88,3 +88,32 @@ export const onInteractiveSupportedFeatures = (handler: IInteractiveSupportedFea export const offInteractiveSupportedFeatures = (handler: IInteractiveSupportedFeaturesEventHandler) => { emitter.off("interactiveSupportedFeatures", handler); }; + + +// Events for plugin communication. +export interface IPluginSyncRequest { + maxInterval: number + syncCallback: (update: IPluginSyncUpdate)=> void; +} + +export interface IPluginSyncEventHandler { (syncRequest: IPluginSyncRequest): void } + +export interface IPluginSyncUpdate { + pluginSyncStatus: "start"|"working"|"fail"|"ok"; +} + +export const emitPluginSyncRequest = (requestData: IPluginSyncRequest) => { + emitter.emit("PluginSyncRequest", requestData); +}; + +export const onPluginSyncRequest = (handler: IPluginSyncEventHandler) => { + emitter.on("PluginSyncRequest", handler); +}; +export const offPluginSyncRequest = (handler: IPluginSyncEventHandler) => { + emitter.off("PluginSyncRequest", handler); +}; + + + + + diff --git a/src/storage/data-sync-tracker.test.ts b/src/storage/data-sync-tracker.test.ts new file mode 100644 index 00000000..0881c848 --- /dev/null +++ b/src/storage/data-sync-tracker.test.ts @@ -0,0 +1,142 @@ +import { DataSyncTracker } from "./data-sync-tracker"; +import { IPluginSyncEventHandler, IPluginSyncUpdate, offPluginSyncRequest, onPluginSyncRequest } from "../lara-plugin/events"; + + +interface ITimedResponse {fracInterval:number, state: "start"|"working"| "ok"|"fail"} + +class FakePlugin { + timedResponses: Array; + updateCallback: (update: IPluginSyncUpdate) => void; + maxInterval: number; + syncRecHandler: IPluginSyncEventHandler; + constructor(timedResponses: Array) { + this.timedResponses = timedResponses; + this.syncRecHandler = (req) => { + + this.updateCallback = req.syncCallback; + this.maxInterval = req.maxInterval; + this.respond(); + }; + onPluginSyncRequest(this.syncRecHandler); + } + + respond() { + this.timedResponses.map( r => { + window.setTimeout(() => { + this.updateCallback({pluginSyncStatus: r.state}); + }, r.fracInterval * this.maxInterval); + }); + } + + stopListening() { + offPluginSyncRequest(this.syncRecHandler); + } +} + +describe("DataSyncTracker", () => { + it("When no plugins answer the call", ()=> { + const mySyncTracker = new DataSyncTracker(2,1); + const pluginsDone =jest.spyOn(mySyncTracker,"pluginsDone"); + const receivedPluginStatus = jest.spyOn(mySyncTracker, "receivedPluginStatus"); + const syncTimeout = jest.spyOn(mySyncTracker,"syncTimeout"); + + return mySyncTracker.start().then(() => { + expect(pluginsDone).toBeCalledTimes(1); + expect(receivedPluginStatus).not.toHaveBeenCalled(); + expect(syncTimeout).not.toHaveBeenCalled(); + expect(mySyncTracker.pluginSuccesses).toEqual(0); + expect(mySyncTracker.pluginFailures).toEqual(0); + }); + }); + + + it("When there are some plugins answering on time", () => { + + const happyPlugin = new FakePlugin([ + {fracInterval: 0.4, state: "start"}, + {fracInterval: 0.4, state: "working"}, + {fracInterval: 0.4, state: "working"}, + {fracInterval: 0.4, state: "ok"} + ]); + + const sadPlugin = new FakePlugin([ + {fracInterval: 0.4, state: "start"}, + {fracInterval: 0.4, state: "working"}, + {fracInterval: 0.4, state: "working"}, + {fracInterval: 0.4, state: "fail"} + ]); + const promiseFunc = jest.fn(); + const myPromise:Promise = new Promise( (resolve, reject) => { + window.setTimeout(()=> { + promiseFunc(); + resolve(); + }, 1); + }); + const mySyncTracker = new DataSyncTracker(100,1); + mySyncTracker.addPromise(myPromise); + const pluginsDone =jest.spyOn(mySyncTracker,"pluginsDone"); + const receivedPluginStatus = jest.spyOn(mySyncTracker, "receivedPluginStatus"); + const syncTimeout = jest.spyOn(mySyncTracker,"syncTimeout"); + + return mySyncTracker.start().then(() => { + expect(pluginsDone).toBeCalledTimes(1); + expect(receivedPluginStatus).toBeCalledTimes(8); // 4 happy, 4 sad + expect(syncTimeout).not.toHaveBeenCalled(); + expect(mySyncTracker.pluginSuccesses).toEqual(1); + expect(mySyncTracker.pluginFailures).toEqual(1); + expect(mySyncTracker.pluginDrops).toEqual(0); + expect(promiseFunc).toHaveBeenCalled(); + happyPlugin.stopListening(); + sadPlugin.stopListening(); + }); + }); + + it("When some plugins are too slow in responding", () => { + + const slowPlugin = new FakePlugin([ + {fracInterval: 0.4, state: "start"}, + {fracInterval: 3, state: "fail"} + ]); + + const sadPlugin = new FakePlugin([ + {fracInterval: 0.4, state: "start"}, + {fracInterval: 0.4, state: "fail"} + ]); + + const mySyncTracker = new DataSyncTracker(10,1); + // mySyncTracker.addPromise(myPromise); + const pluginsDone =jest.spyOn(mySyncTracker,"pluginsDone"); + const receivedPluginStatus = jest.spyOn(mySyncTracker, "receivedPluginStatus"); + const syncTimeout = jest.spyOn(mySyncTracker,"syncTimeout"); + + return mySyncTracker.start().then(() => { + expect(pluginsDone).toBeCalledTimes(1); + expect(syncTimeout).not.toHaveBeenCalled(); + expect(receivedPluginStatus).toBeCalledTimes(3); // 1 slow, 2 sad + expect(mySyncTracker.pluginSuccesses).toEqual(0); + expect(mySyncTracker.pluginDrops).toEqual(1); + expect(mySyncTracker.pluginFailures).toEqual(1); + slowPlugin.stopListening(); + sadPlugin.stopListening(); + }); + }); + + it("When a promise takes too long", () => { + + const mySyncTracker = new DataSyncTracker(2,1); + const myPromise:Promise = new Promise( (resolve) => { + window.setTimeout(()=> { + resolve(); + }, 3000); + }); + mySyncTracker.addPromise(myPromise); + return mySyncTracker.start() + .then() + .catch((error) => { + expect(error).toMatch(/TimeOut/); + }); + }); +}); + + + diff --git a/src/storage/data-sync-tracker.ts b/src/storage/data-sync-tracker.ts new file mode 100644 index 00000000..bcf7a39b --- /dev/null +++ b/src/storage/data-sync-tracker.ts @@ -0,0 +1,100 @@ + +import { toJS } from "mobx"; +import { emitPluginSyncRequest, IPluginSyncUpdate } from "../lara-plugin/events"; + + +const KDefaultSyncTimeoutSeconds = 60 * 60; // 1 hour save timeout +const KDefaultPluginHeartbeatSeconds = 10; // 10 seconds before we give up + +// We save: Logs, student data, plugin data, and also ask plugins to save +export class DataSyncTracker { + pluginTimeoutS: number; // Seconds + syncTimeoutS: number; // Seconds + startTimeMs: number; // Millies + pluginPromise: Promise; + promiseResolver: (result?:any)=>void|null; + promiseRejector: (reason: any)=>void; + pluginFailures: number; + pluginSuccesses: number; + pluginDrops: number; + pendingPromises: Array>; + timeoutRef: number + + constructor( + syncTimeoutS: number = KDefaultSyncTimeoutSeconds, + pluginTimeoutS: number = KDefaultPluginHeartbeatSeconds) { + this.syncTimeoutS = syncTimeoutS; + this.pluginTimeoutS = pluginTimeoutS; + this.pendingPromises = []; + this.pluginFailures = 0; + this.pluginSuccesses = 0; + this.pluginDrops = 0; + } + + start() { + this.startTimeMs = Date.now(); + emitPluginSyncRequest({ + maxInterval: this.pluginTimeoutS * 1000, + syncCallback: (status:IPluginSyncUpdate) => this.receivedPluginStatus(status) + }); + + this.pluginPromise = new Promise((resolve, reject) => { + this.promiseResolver = resolve; + this.promiseRejector = reject; + }); + + this.pendingPromises=[this.pluginPromise]; + this.registerPluginTimeOut(); + this.registerSyncTimeOut(); + return this.finish(); + } + + addPromise(promise: Promise) { + this.pendingPromises.push(promise); + } + + registerSyncTimeOut() { + window.setTimeout(() => this.syncTimeout(), this.syncTimeoutS * 1000); + } + + registerPluginTimeOut() { + if(this.timeoutRef) { window.clearTimeout(this.timeoutRef); } + this.timeoutRef = window.setTimeout(() => this.pluginsDone(), this.pluginTimeoutS * 1000); + } + + syncTimeout() { + this.promiseRejector("Sync operation TimeOut"); + } + // We call this when we stop hearing from any plugins: + pluginsDone() { + // Resolve our internal plugin promise: + this.promiseResolver(); + } + + finish() { + return Promise.all(this.pendingPromises).then(() => { + const endTimeMs = Date.now(); + const elapsedMs = endTimeMs - this.startTimeMs; + const elapsedS = elapsedMs / 1000; + console.info(`sync finished in ${elapsedS} seconds`); + }); + } + + receivedPluginStatus(status: IPluginSyncUpdate) { + // We don't reset the timer if the status is fail or ok, which are terminal. + if(status.pluginSyncStatus===("start" || "working")) { + if(status.pluginSyncStatus === "start") { + this.pluginDrops++; + } + this.registerPluginTimeOut(); + } + if(status.pluginSyncStatus === "ok") { + this.pluginSuccesses++; + this.pluginDrops--; + } + if(status.pluginSyncStatus === "fail") { + this.pluginFailures++; + this.pluginDrops--; + } + } +} \ No newline at end of file From 96efcc0bfbb519ec3d3497fd270e046af8b74a4a Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Fri, 19 Mar 2021 09:12:40 -0400 Subject: [PATCH 099/242] Partially complete version of PC Activities Manifest --- .../precipitaging-change-v1.json | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 src/public/offline-manifests/precipitaging-change-v1.json diff --git a/src/public/offline-manifests/precipitaging-change-v1.json b/src/public/offline-manifests/precipitaging-change-v1.json new file mode 100644 index 00000000..b4b67a7a --- /dev/null +++ b/src/public/offline-manifests/precipitaging-change-v1.json @@ -0,0 +1,102 @@ +{ + "name": "Precipitating Change Offline Manifest", + "activities": [ + { + "name": "Interview - Predicting the Weather Without the Weather Channel", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11559" + }, + { + "name": "Lesson 1: Making an Initial Prediction", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11501" + }, + { + "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11630" + }, + { + "name": "Lesson 2: Pre-thoughts - What Do You Think?", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11565" + }, + { + "name": "Lesson 2: Displaying Temperature Data", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11526" + }, + { + "name": "Lesson 2: Post-thoughts - What Do You Think?", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11581" + }, + { + "name": "Lesson 3: Pre-thoughts - What Do You Think?", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11583" + }, + { + "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11582" + }, + { + "name": "Lesson 3: Post-thoughts - What Do You Think?", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11584" + }, + { + "name": "Lesson 4: Pre-thoughts - What Do You Think?", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11586" + }, + { + "name": "Lesson 4: Building Rules", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11585" + }, + { + "name": "Lesson 4: Post-thoughts - What Do You Think?", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11587" + }, + { + "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11593" + }, + { + "name": "Lesson 5: Identifying Air Masses", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11588" + }, + { + "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11595" + }, + { + "name": "Lesson 6: Pre-thoughts - What Do You Think?", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11590" + }, + { + "name": "Lesson 6: Modeling Fronts", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11589" + }, + { + "name": "Lesson 6: Post-thoughts - What Do You Think?", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11591" + }, + { + "name": "Lesson 7: Analyzing Data and Making a Prediction", + "contentUrl": "", + "resourceUrl": "https://authoring.concord.org/activities/11592" + } + ], + "cacheList": [ + ] +} From 48b01276ddcedfee75bf89f394b9bdab6cca6d06 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Fri, 19 Mar 2021 10:14:35 -0400 Subject: [PATCH 100/242] Added plugin sync event and updated hook dependencies --- src/components/activity-page/embeddable.tsx | 2 +- .../plugins/embeddable-plugin-sidetip.tsx | 2 +- .../plugins/embeddable-plugin.tsx | 2 +- .../activity-page/plugins/glossary-plugin.tsx | 2 +- src/lara-plugin/events/index.ts | 29 +++++++++ src/lara-plugin/plugin-api/events.spec.ts | 32 ++++++++++ src/lara-plugin/plugin-api/events.ts | 61 +++++++++++++++++++ src/lara-plugin/plugin-api/index.ts | 2 +- 8 files changed, 127 insertions(+), 5 deletions(-) create mode 100644 src/lara-plugin/plugin-api/events.spec.ts create mode 100644 src/lara-plugin/plugin-api/events.ts diff --git a/src/components/activity-page/embeddable.tsx b/src/components/activity-page/embeddable.tsx index 9cab6c04..e9051b71 100644 --- a/src/components/activity-page/embeddable.tsx +++ b/src/components/activity-page/embeddable.tsx @@ -61,7 +61,7 @@ export const Embeddable: React.ForwardRefExoticComponent = forwardRef((p if (validPluginContext && teacherEditionMode && pluginsLoaded) { initializePlugin(validPluginContext, offlineMode); } - }, [LARA, linkedPluginEmbeddable, embeddable, teacherEditionMode, pluginsLoaded]); + }, [LARA, linkedPluginEmbeddable, embeddable, teacherEditionMode, pluginsLoaded, offlineMode]); useImperativeHandle(ref, () => ({ requestInteractiveState: () => { diff --git a/src/components/activity-page/plugins/embeddable-plugin-sidetip.tsx b/src/components/activity-page/plugins/embeddable-plugin-sidetip.tsx index 43820a94..55270b5c 100644 --- a/src/components/activity-page/plugins/embeddable-plugin-sidetip.tsx +++ b/src/components/activity-page/plugins/embeddable-plugin-sidetip.tsx @@ -23,7 +23,7 @@ export const EmbeddablePluginSideTip: React.FC = (props) => { approvedScriptLabel: "teacherEditionTips" }, offlineMode); } - }, [LARA, embeddable]); + }, [LARA, embeddable, offlineMode]); return (
    diff --git a/src/components/activity-page/plugins/embeddable-plugin.tsx b/src/components/activity-page/plugins/embeddable-plugin.tsx index 2b5ea494..90902893 100644 --- a/src/components/activity-page/plugins/embeddable-plugin.tsx +++ b/src/components/activity-page/plugins/embeddable-plugin.tsx @@ -27,7 +27,7 @@ export const EmbeddablePlugin: React.FC = (props) => { if (validPluginContext && pluginsLoaded) { initializePlugin(validPluginContext, offlineMode); } - }, [LARA, embeddable, pluginsLoaded]); + }, [LARA, embeddable, pluginsLoaded, offlineMode]); return (
    ); diff --git a/src/components/activity-page/plugins/glossary-plugin.tsx b/src/components/activity-page/plugins/glossary-plugin.tsx index 2683d763..ebbe3e59 100644 --- a/src/components/activity-page/plugins/glossary-plugin.tsx +++ b/src/components/activity-page/plugins/glossary-plugin.tsx @@ -27,7 +27,7 @@ export const GlossaryPlugin: React.FC = (props) => { if (validPluginContext) { initializePlugin(validPluginContext, offlineMode); } - }, [LARA, embeddable]); + }, [LARA, embeddable, offlineMode]); return (
    ); diff --git a/src/lara-plugin/events/index.ts b/src/lara-plugin/events/index.ts index c152aee6..4859de1f 100644 --- a/src/lara-plugin/events/index.ts +++ b/src/lara-plugin/events/index.ts @@ -50,11 +50,30 @@ export interface IInteractiveSupportedFeaturesEvent { supportedFeatures: ISupportedFeatures; } +export interface IPluginSyncUpdate { + status: "started" | "working" | "failed" | "completed"; + message?: string; +} + +export type PluginSyncUpdateCallback = (update: IPluginSyncUpdate) => void; + +export interface IPluginSyncEvent { + maxUpdateCallbackInterval: number; + updateCallback: PluginSyncUpdateCallback; +} + +// Events for plugin communication. + /** * SupportedFeatures event handler. */ export type IInteractiveSupportedFeaturesEventHandler = (event: IInteractiveSupportedFeaturesEvent) => void; +/** + * PluginSync event handler. + */ +export type IPluginSyncRequestEventHandler = (event: IPluginSyncEvent) => void; + const emitter = new EventEmitter2({ maxListeners: Infinity }); @@ -88,3 +107,13 @@ export const onInteractiveSupportedFeatures = (handler: IInteractiveSupportedFea export const offInteractiveSupportedFeatures = (handler: IInteractiveSupportedFeaturesEventHandler) => { emitter.off("interactiveSupportedFeatures", handler); }; + +export const emitPluginSyncRequest = (event: IPluginSyncEvent) => { + emitter.emit("PluginSyncRequest", event); +}; +export const onPluginSyncRequest = (handler: IPluginSyncRequestEventHandler) => { + emitter.on("PluginSyncRequest", handler); +}; +export const offPluginSyncRequest = (handler: IPluginSyncRequestEventHandler) => { + emitter.off("PluginSyncRequest", handler); +}; diff --git a/src/lara-plugin/plugin-api/events.spec.ts b/src/lara-plugin/plugin-api/events.spec.ts new file mode 100644 index 00000000..73fd80c2 --- /dev/null +++ b/src/lara-plugin/plugin-api/events.spec.ts @@ -0,0 +1,32 @@ +import { events } from "./events"; +import * as EventsImpl from "../events"; + +describe("Events", () => { + it("should delegate methods to events lib", () => { + jest.spyOn(EventsImpl, "onLog"); + jest.spyOn(EventsImpl, "offLog"); + jest.spyOn(EventsImpl, "onInteractiveAvailable"); + jest.spyOn(EventsImpl, "offInteractiveAvailable"); + jest.spyOn(EventsImpl, "onInteractiveSupportedFeatures"); + jest.spyOn(EventsImpl, "offInteractiveSupportedFeatures"); + jest.spyOn(EventsImpl, "onPluginSyncRequest"); + jest.spyOn(EventsImpl, "offPluginSyncRequest"); + const handler = jest.fn(); + events.onLog(handler); + expect(EventsImpl.onLog).toHaveBeenCalledWith(handler); + events.offLog(handler); + expect(EventsImpl.offLog).toHaveBeenCalledWith(handler); + events.onInteractiveAvailable(handler); + expect(EventsImpl.onInteractiveAvailable).toHaveBeenCalledWith(handler); + events.offInteractiveAvailable(handler); + expect(EventsImpl.offInteractiveAvailable).toHaveBeenCalledWith(handler); + events.onInteractiveSupportedFeatures(handler); + expect(EventsImpl.onInteractiveSupportedFeatures).toHaveBeenCalledWith(handler); + events.offInteractiveSupportedFeatures(handler); + expect(EventsImpl.offInteractiveSupportedFeatures).toHaveBeenCalledWith(handler); + events.onPluginSyncRequest(handler); + expect(EventsImpl.onPluginSyncRequest).toHaveBeenCalledWith(handler); + events.offPluginSyncRequest(handler); + expect(EventsImpl.offPluginSyncRequest).toHaveBeenCalledWith(handler); + }); +}); diff --git a/src/lara-plugin/plugin-api/events.ts b/src/lara-plugin/plugin-api/events.ts new file mode 100644 index 00000000..dc76ee5e --- /dev/null +++ b/src/lara-plugin/plugin-api/events.ts @@ -0,0 +1,61 @@ +import { + onLog, offLog, ILogEventHandler, + onInteractiveAvailable, offInteractiveAvailable, IInteractiveAvailableEventHandler, + onInteractiveSupportedFeatures, offInteractiveSupportedFeatures, IInteractiveSupportedFeaturesEventHandler, + onPluginSyncRequest, offPluginSyncRequest, IPluginSyncRequestEventHandler +} from "../events"; +// Export event types as a part of Plugin API. +export { + onLog, offLog, ILogData, ILogEventHandler, + onInteractiveAvailable, offInteractiveAvailable, + IInteractiveAvailableEvent, IInteractiveAvailableEventHandler, + onInteractiveSupportedFeatures, offInteractiveSupportedFeatures, + IInteractiveSupportedFeaturesEvent, IInteractiveSupportedFeaturesEventHandler +} from "../events"; + +/** + * Functions related to event observing provided by LARA. + */ +export const events = { + // Why do we need explicit delegation instead of something like: + // onLog: onLogImpl + // Because that's the only way for TypeDoc to pick up types and generate nice docs. + + /** + * Subscribes to log events. Gets called when any event is logged to the CC Log Manager app. + */ + onLog: (handler: ILogEventHandler) => onLog(handler), + /** + * Removes log event handler. + */ + offLog: (handler: ILogEventHandler) => offLog(handler), + /** + * Subscribes to InteractiveAvailable events. Gets called when any interactive changes its availability state. + * Currently uses when click to play mode is enabled and the click to play overlay is clicked. + */ + onInteractiveAvailable: (handler: IInteractiveAvailableEventHandler) => onInteractiveAvailable(handler), + /** + * Removes InteractiveAvailable event handler. + */ + offInteractiveAvailable: (handler: IInteractiveAvailableEventHandler) => offInteractiveAvailable(handler), + /** + * Subscribes to InteractiveSupportedFeatures events. Gets called when any interactive calls setSupportedFeatures(). + */ + onInteractiveSupportedFeatures: + (handler: IInteractiveSupportedFeaturesEventHandler) => onInteractiveSupportedFeatures(handler), + /** + * Removes InteractiveSupportedFeatures event handler. + */ + offInteractiveSupportedFeatures: + (handler: IInteractiveSupportedFeaturesEventHandler) => offInteractiveSupportedFeatures(handler), + /** + * Subscribes to PluginSyncRequest events. Gets called when the plugins are commanded to sync their offline data. + */ + onPluginSyncRequest: + (handler: IPluginSyncRequestEventHandler) => onPluginSyncRequest(handler), + /** + * Removes PluginSyncRequest event handler. + */ + offPluginSyncRequest: + (handler: IPluginSyncRequestEventHandler) => offPluginSyncRequest(handler) +}; diff --git a/src/lara-plugin/plugin-api/index.ts b/src/lara-plugin/plugin-api/index.ts index 61155b61..c93216f0 100644 --- a/src/lara-plugin/plugin-api/index.ts +++ b/src/lara-plugin/plugin-api/index.ts @@ -3,4 +3,4 @@ export * from "./plugins"; export * from "./sidebar"; export * from "./popup"; export * from "./decorate-content"; -// LARA_CODE export * from "./events"; +export * from "./events"; From 7af012c049b3f538464ef5439d98d5941635bc1d Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Fri, 19 Mar 2021 12:03:22 -0400 Subject: [PATCH 101/242] add downloaded activity content, and update the manifest Still need to update the cache list --- .../precipitating-change-v1/interview.json | 412 +++ .../lesson-1-post.json | 198 ++ .../precipitating-change-v1/lesson-1.json | 1116 +++++++ .../lesson-2-post.json | 268 ++ .../precipitating-change-v1/lesson-2-pre.json | 268 ++ .../precipitating-change-v1/lesson-2.json | 2596 +++++++++++++++++ .../lesson-3-post.json | 231 ++ .../precipitating-change-v1/lesson-3-pre.json | 231 ++ .../precipitating-change-v1/lesson-3.json | 712 +++++ .../lesson-4-post.json | 231 ++ .../precipitating-change-v1/lesson-4-pre.json | 231 ++ .../precipitating-change-v1/lesson-4.json | 786 +++++ .../lesson-5-post.json | 268 ++ .../precipitating-change-v1/lesson-5-pre.json | 268 ++ .../precipitating-change-v1/lesson-5.json | 1122 +++++++ .../lesson-6-post.json | 231 ++ .../precipitating-change-v1/lesson-6-pre.json | 231 ++ .../precipitating-change-v1/lesson-6.json | 529 ++++ .../precipitating-change-v1/lesson-7.json | 778 +++++ ...e-v1.json => precipitating-change-v1.json} | 40 +- 20 files changed, 10727 insertions(+), 20 deletions(-) create mode 100644 src/public/offline-activities/precipitating-change-v1/interview.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-1-post.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-1.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-2-post.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-2-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-2.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-3-post.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-3-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-3.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-4-post.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-4-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-4.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-5-post.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-5-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-5.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-6-post.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-6-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-6.json create mode 100644 src/public/offline-activities/precipitating-change-v1/lesson-7.json rename src/public/offline-manifests/{precipitaging-change-v1.json => precipitating-change-v1.json} (63%) diff --git a/src/public/offline-activities/precipitating-change-v1/interview.json b/src/public/offline-activities/precipitating-change-v1/interview.json new file mode 100644 index 00000000..d505baff --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/interview.json @@ -0,0 +1,412 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Interview - Predicting the Weather Without the Weather Channel", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143459, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png\"}", + "is_hidden": true, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1636-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EPredicting the weather without the Weather Channel\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETalk with an \u003Cstrong\u003Eadult family member or family friend\u003C/strong\u003E who you think might have experience predicting the weather (maybe even someone who is older who learned how to predict the weather when they were around your age).\u003C/p\u003E\r\n\u003Cp\u003EWhat if you needed a weather forecast and couldn\u0026rsquo;t use your usual ways of checking the weather? Imagine you\u0026rsquo;re planning to go snowmobiling on the tundra, but there\u0026rsquo;s a big power failure and there\u0026rsquo;s no TV, Internet, or cell phone available. Even the radio isn\u0026rsquo;t working! You might try to figure out a weather forecast with help from someone you know.\u003C/p\u003E\r\n\u003Cp\u003EAsk the person the questions below and write down their ideas. If possible, record your talk so you can go back and check that you\u0026rsquo;ve written down all the important ideas.\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "Predicting the Weather Without the Weather Channel", + "type": "Embeddable::Xhtml", + "ref_id": "147758-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png\"}", + "is_hidden": false, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1657-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"required\":true,\"prompt\":\"\u003Cp\u003EHow did you learn how to predict the weather?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1638-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat things do you observe to help you predict the weather? \u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1639-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow do you observe those things? (What senses do you use? What tools or instruments do you use?)\u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1640-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow do you use what you observe to predict what the upcoming weather is going to be like? \u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1641-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EStep outside together and ask: what do you think the weather is going to be like twelve hours from now and how do you know? If you are talking with someone who is far away, maybe by phone or Internet, ask them to either take a picture of what the sky is like where they are and send it to you or else describe what they see to you as they answer this question.\u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1642-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-1-post.json new file mode 100644 index 00000000..003f55da --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-1-post.json @@ -0,0 +1,198 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": null, + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144077, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs you answer these questions, think about the words used by the person you talked with about weather and the words used by a meteorologist. How do each of them describe weather and weather forecasting?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148413-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat are some \u003Cstrong\u003Esimilarities\u003C/strong\u003E between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1834-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat are some \u003Cstrong\u003Edifferences\u003C/strong\u003E between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1835-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy might it be worthwhile to have some understanding of how to predict weather yourself (without using information from TV or Internet)? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1836-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }], + "plugins": [], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-1.json b/src/public/offline-activities/precipitating-change-v1/lesson-1.json new file mode 100644 index 00000000..4c01409b --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-1.json @@ -0,0 +1,1116 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Making an Initial Prediction", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143296, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever wondered how people on the news are able to predict tomorrow\u0026rsquo;s weather?\u003C/p\u003E\r\n\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will tell you about her job and how she predicts the weather.\u0026nbsp; Jackie will provide more information about being a meteorologist throughout this unit.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147485-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Jackie Purcell - L1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1262-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142934, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Overall Introduction", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWelcome to Precipitating Change! Watch this video to see what it is all about!\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "What This Unit Is About", + "type": "Embeddable::Xhtml", + "ref_id": "147101-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Mr. Neyhard's Introduction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1180-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142945, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Lesson Opening", + "position": 3, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYour unit challenge will be to determine if the Native Youth Olympics (NYO Games) in Anchorage will be able to take place as planned, be postponed or even be canceled because of problems traveling from across Alaska due to weather.\u003C/p\u003E\r\n\u003Cp\u003ETo solve this challenge throughout the unit, you will need to learn how to predict the weather.\u003C/p\u003E\r\n\u003Cp\u003EYou will have the following tools to help you:\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Real-world data for the Alaska mainland\u003Cbr /\u003E\u0026bull; A toolkit to help analyze the data\u003Cbr /\u003E\u003Cbr /\u003E\u003C/p\u003E\r\n\u003Cp\u003EWatch Mr. Neyhard tell you more about the unit challenge.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "The unit challenge", + "type": "Embeddable::Xhtml", + "ref_id": "147111-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1184-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142944, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring the Weather", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEXPLORING THE\u0026nbsp;WEATHER\u003C/p\u003E\r\n\u003Cp\u003E\"What am I going to wear today?\" is a question everyone asks each morning. How do you determine what you are going to wear? What information do you collect to inform your decision?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147110-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\",\"highResUrl\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1263-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "content": "\u003Cp\u003ELook at the\u0026nbsp;weather\u0026nbsp;data for the\u0026nbsp;morning\u0026nbsp;on Tuesday.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147486-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"54\u00b0F\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhat is the predicted temperature on Tuesday morning?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1265-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"54\u00b0F\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat is the predicted high temperature on Tuesday during the day?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1266-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Sunshine\",\"correct\":false},{\"id\":\"2\",\"content\":\"Snow\",\"correct\":false},{\"id\":\"3\",\"content\":\"Rain\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhat does the symbol on Tuesday mean?\u003C/p\u003E\\n\u003Cp\u003E\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png\\\" width=\\\"50\\\" height=\\\"44\\\"/\u003E\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1267-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A sweater, some pants, and either an umbrella or a rain jacket because it\u2019s not too cold or too warm but it is supposed to be raining.\",\"correct\":true},{\"id\":\"2\",\"content\":\"My parka/big fluffy coat, snow pants, snow boots, and ski goggles because snow will be falling.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Shorts and T-shirt with sunglasses because it will be sunny and hot.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EBased on the weather forecast, what would you wear on Tuesday morning?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1268-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "carousel", + "id": 143199, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Making a Prediction", + "position": 5, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EMAKING A\u0026nbsp;PREDICTION\u003C/p\u003E\r\n\u003Cp\u003ECan you determine at night what the\u0026nbsp;weather\u0026nbsp;will be the following morning? What kind of information goes into a\u0026nbsp;weather\u0026nbsp;prediction?\u003C/p\u003E\r\n\u003Cp\u003EYou have been planning to go to the NYO Games in Anchorage on April 23 at 7 am. This event has been planned for months and you are expecting that about 500 students will compete from all over the state. One of your jobs is to watch the\u0026nbsp;weather\u0026nbsp;and determine if the event is safe to proceed as\u0026nbsp;planned, or if it should be\u0026nbsp;postponed\u0026nbsp;or\u0026nbsp;cancelled.\u003C/p\u003E\r\n\u003Cp\u003EBelow is an Alaska\u0026nbsp;weather\u0026nbsp;dataset from weather stations that includes temperature,\u0026nbsp;precipitation, wind speed, and\u0026nbsp;wind direction.\u003C/p\u003E\r\n\u003Cp\u003EThe data from the\u0026nbsp;weather\u0026nbsp;stations are organized to show information for a 24-hour time period.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147487-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": true, + "model_library_url": null, + "name": "Alaska Full Map", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "type": "MwInteractive", + "ref_id": "96755-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1297-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1298-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"\u003Cp\u003EClick through the radar images which provide precipitation changes for a 24-hour time period.\u003C/p\u003E\",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "d28c5f7719a5e637904c6b1de2d0036ba4f76313", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/carousel/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Carousel Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1316-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat do you predict the weather will be at 7am in Anchorage on April 23rd? Will it be raining in Anchorage or not? Please include a number for the temperature, for example 75 degrees F. in your explanation.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1434-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"likert\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"6cf707ea-431c-4873-b351-7ce8fe6af548\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"42e03e94-4e9d-4d84-89d8-71efb91ea9bd\"}],\"prompt\":\"\u003Cp\u003EHow confident are you of your prediction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1350-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143338, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148889-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How the air feels and the sky looks when I go outside\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The condition of the air that surrounds the Earth at a particular time and place\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) What the sky will do at any given time\",\"correct\":false},{\"content\":\"d) Rain, snow, sleet, hail, sunshine, clouds\",\"correct\":false,\"id\":\"17adffb5-75c5-445c-97ba-7c8bc40428a5\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition for the word \u201cweather\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2012-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Forecast based on evidence about a future event\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Having a premonition\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) When you know something is going to happen\",\"correct\":false},{\"content\":\"d) Forecast based on evidence about past events\",\"correct\":false,\"id\":\"cc1298b9-983c-4665-8259-1846d12d93bc\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition for the word \u201cprediction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2013-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"ec77134a-e481-44b6-ae6b-3c946755ecae\"}],\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2014-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To focus on my work\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To learn something about weather\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) To predict the weather at 7am in Anchorage on April 23rd\",\"correct\":true},{\"content\":\"d) To get into the NYO Games\",\"correct\":false,\"id\":\"71d0bbc7-d5bd-47f8-9be5-1f1591c8918e\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is your challenge for this weather unit?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2015-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) First, click on the word\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Second, look at the picture and read the caption\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Third, try to write my own definition for the word\",\"correct\":false},{\"content\":\"d) Fourth, read the actual definition and watch the video if needed\",\"correct\":false,\"id\":\"76ac086c-1572-48f3-bceb-944f20697651\"},{\"content\":\"e) All of the above\",\"correct\":true,\"id\":\"9a77ae48-7532-44cd-9112-58d1b87c5470\"},{\"content\":\"f) Only answers C and D\",\"correct\":false,\"id\":\"cdcb1029-a50e-4f9b-af8c-62eeb16fc034\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EHow do you use the glossary? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2016-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-2-post.json new file mode 100644 index 00000000..1d8a311b --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-2-post.json @@ -0,0 +1,268 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143587, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Estimate the Temperature?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying\u0026nbsp;weather. The students will make a computer model to predict\u0026nbsp;weather\u0026nbsp;in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31\u02da and 59\u02da.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png\" alt=\"\" width=\"550\" height=\"62\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should use the number that is exactly halfway in between 31\u02daand 59\u02da. That\u0026rsquo;s the most exact way to estimate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should mark a number line along the map with the estimate in each square going up the same amount between 31\u02da and 59\u02da. That\u0026rsquo;d be the best estimate.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EIt doesn\u0026rsquo;t make sense to estimate the temperature at the X. We\u0026rsquo;d need to go there and measure the temperature. You can\u0026rsquo;t be confident unless you measure it.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThe X is closer to the 59\u02da than to the 31\u02da, so let\u0026rsquo;s choose a number closer to 59\u02da. That\u0026rsquo;s the best we can do because we don\u0026rsquo;t know what\u0026rsquo;s happening with the weather in those places.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147889-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1684-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1685-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17136-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10226-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10227-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10228-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v1/lesson-2-pre.json new file mode 100644 index 00000000..02426e74 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-2-pre.json @@ -0,0 +1,268 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143495, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Estimate the Temperature?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying\u0026nbsp;weather. The students will make a computer model to predict\u0026nbsp;weather\u0026nbsp;in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31\u02da and 59\u02da.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png\" alt=\"\" width=\"550\" height=\"62\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should use the number that is exactly halfway in between 31\u02daand 59\u02da. That\u0026rsquo;s the most exact way to estimate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should mark a number line along the map with the estimate in each square going up the same amount between 31\u02da and 59\u02da. That\u0026rsquo;d be the best estimate.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EIt doesn\u0026rsquo;t make sense to estimate the temperature at the X. We\u0026rsquo;d need to go there and measure the temperature. You can\u0026rsquo;t be confident unless you measure it.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThe X is closer to the 59\u02da than to the 31\u02da, so let\u0026rsquo;s choose a number closer to 59\u02da. That\u0026rsquo;s the best we can do because we don\u0026rsquo;t know what\u0026rsquo;s happening with the weather in those places.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147795-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1658-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1649-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17135-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10214-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10215-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10216-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-2.json b/src/public/offline-activities/precipitating-change-v1/lesson-2.json new file mode 100644 index 00000000..bedea52f --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-2.json @@ -0,0 +1,2596 @@ +{ + "description": "\u003Cp\u003EHow can weather from the past inform future weather predictions?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Displaying Temperature Data ", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143620, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how temperature plays an important part in predicting weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147936-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1705-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143207, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Lesson Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever wondered why some temperature displays are in color (for instance, television weather reports), but a thermometer displays temperature in numbers? Or how weather apps can tell you what the temperature is wherever you are? In this lesson, you are going to learn what it means to display temperature for mainland Alaska.\u003C/p\u003E\r\n\u003Cp\u003EAs\u0026nbsp; weather scientists (meteorologists), you will experience a virtual storm event in your classroom. As the virtual storm event occurs, you and your research team will collect and record temperature data.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EAs part of your lesson challenge, you will need to determine how to capture the data, how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147375-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Holder for Kevin's video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1706-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 2: DISPLAYING DATA:\\n\\n**HOW CAN WEATHER FROM THE PAST INFORM FUTURE WEATHER PREDICTIONS?**\\n\\nIn this lesson, students are introduced to the virtual storm technology by experiencing a weather event move through their classroom. A weather station collects data about the current weather at a specific location. The strategic placement of multiple stations and use of digital tools and mathematical concepts allows weather scientists to create a more accurate and complete model/visualization of the weather over a region and analyze it for patterns and trends. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Take a limited amount of information and develop a more complete picture of the weather (create a weather visualization)\\n\\n* Explain a weather map using traditional weather symbols and codes (weather stations with temperature)\\n\\n* Make minimally informed predictions about future weather events\\n\\n* Explain that weather varies over time\\n\\nComputational Thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Data Aggregation | Describes the data collection and organization process you use to better understand the topic. | Students will collect temperature data from tablet/laptop and organize the data in charts on the wall. |\\n| Data Abstraction | Simplifying data to make it easier to interpret and find patterns. | Students will come up with a color scheme for temperature and change how the data is represented from numbers to temperature categories, and then to colors. |\\n| Interpolation | Estimating an unknown value based on surrounding information. | Students will make best guess estimates of the temperatures that are missing on the map. |\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students collect data in two rounds and see patterns of data moving across the charts. Before and after each data collection they will interpolate data. They will discover that warm and cold spots on the map are consistently on certain sides, and also see these spots change over time. |\\n| Extrapolation | Following a pattern beyond the known data points. | Students predict future weather based on patterns they observe in the changing temperatures they collected and visualized. |\\n \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9759-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME \\t 2 class periods with Pre-Assessment (80 mins)\\n\\n**KEY ACTIVITIES:**\\nOpening - (5 mins)\\n\\nActivity 1 - Virtual Storm (30 mins)\\n\\nActivity 2 - Interpolating Weather Station Data (20 mins)\\n\\nActivity 3 - Virtual Storm (15 mins)\\n\\nPost-Assessment - How Should We Estimate the Temperature? (10 mins)\\n\\n### MATERIALS AND SET-UP\\nActivity 1 - Virtual Storm: Displaying Temperature Data\\n \\nThis activity requires significant setup time and you may want to plan a few hours to transform the classroom into a 7x7 gridded space and to test and set up the iPads/laptops. \\n\\n**Per Research Team (2-4 students):**\\n\\n* Marker\\n* 3\\\" x 3\\\" sticky notes in the following colors: blue, green, yellow, red, purple, orange\\n* Fully charged and connected iPad/laptop that can display the online activity\\n* Set of colored pencils (for individual student sheets)\\n\\n**Per Class:**\\n\\n* Click [HERE](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf) and print \u201cA-G\u201d and \\\"1-7\\\" coordinates in the largest font possible.\\n\\n* Push desks to walls to get as much open space in your classroom as possible.\\n\\n* Tape labels to the classroom walls, evenly spaced. Make sure the letters are on opposite walls and the numbers on walls opposite, mirroring each other. See image below for an example:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GridSetUpExampleRESIZED.png)\\n\\n* Students should be able to stand in the grid. For example, the smiley face represents a student standing in G6. Adapt the grid points to what you have available in your learning space.\\n\\n**Weather maps:**\\n\\n* Place four large poster-sized sheets of gridded paper on a classroom wall, organizing the chart paper in a row. Each sheet will contain a 7 x 7 grid with axes labeled to match the room set-up. Click [HERE](https://youtu.be/HD_6BAHib1A) to watch a tutorial on how to create weather map grids for your classroom. \\n\\n* Label the top of each sheet with a different time: 7:00 am, 11:00 am, 3:00 pm, and 7:00 pm, and organize them on the wall in order of the time.\\n\\n* Have students track the virtual weather event and record their group's data on the tracking sheet in their Science Notebook.\\n\\n**City Markers:**\\n\\n* Print five city markers by clicking [HERE - PDF](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf)\\n\\n* Place \\\"City Markers\\\" on the floor in the appropriate classroom grid locations that correspond to the map shown in the image below:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/AKGridMapResized.png)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9760-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 2.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9761-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143208, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Weather Station - Data", + "position": 3, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs scientists, it is important to record temperature data for analysis and to predict future\u0026nbsp;weather\u0026nbsp;events.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Displaying Temperature", + "type": "Embeddable::Xhtml", + "ref_id": "147376-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EGather information from each weather station shown on the map above. Each community on the map has a weather station. Click on the box (also called a cell) the community is in to see the temperature information given.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147377-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Activity 1 - Virtual Storm: Visualizing Temperature \\n\\nIn this activity, students simulate the experience of a weather scientist collecting weather data for a large area and organizing it into useful maps to predict a future weather event. Students collaboratively negotiate what the data means, as well as how to accurately record the data and represent it so they can use the emerging pattern to predict a future weather event. The specific computational thinking practices highlighted and practiced in this activity are **Data Aggregation**, **Abstraction**, and **Interpolation**.\\n\\n###Activity Breakdown\\n**1. Setting the stage for the virtual storm.** The grid in the classroom represents a smaller region in Alaska than the area covered in the Lesson 1 radar images. This area includes the following cities: Bettles, Gelena, Nome, Noorvik, and St. Mary\u2019s. In their research teams, students collect temperature data every four hours throughout the region for an eight-hour period of time. \\n\\n* Have a student stand in a square and ask the class to identify the coordinates of where they are standing. Repeat until clear.\\n\\n**2. Round 1 - Starting the Virtual Storm technology. **\\n\\n* Ask research teams to select a student from their team to move to an unoccupied grid cell. \\n\\n* Launch the Virtual Storm technology and have another student from the team record the temperature in the selected cell onto the poster sheet labeled \\\"7:00 am.\\\" \\n\\n* Click \\\"PLAY\\\" on the Virtual Storm technology. Instruct the students to watch the clock in the Weather Sensor, and every four hours record the temperature readings onto the corresponding poster sheets on the walls (7:00 am, 11:00 am, 3:00 pm). After this round, all posters should have eight squares filled in. \\n\\n**3. Round 2 - Students gaining practice by repeating the process.**\\n\\n* Click the \u201cRESET\u201d button. Ask research groups to choose new positions on the grid. \\n* Run the simulation and encourage students to collect and record the data on the three maps again. At the end of this round, each chart should have 16 squares filled in on each chart.\\n\\n**4. Round 3 - Be more strategic.**\\n\\n* Let the research teams rethink their position and either stay or move to a more strategically chosen position.\\n\\n* Run the simulation again, asking students to record the data on three charts. At the end of this round, 24 squares should be filled in with temperature data.\\n\\n** 5. Class Discussion - Emerging patterns \u0026 abstraction.**\\n\\n* Help students develop a color scheme of their choosing, and suggest colored sticky notes for the scheme. Honor the way students want to do it and post the scheme on the wall. For example, students might come up with six temperature categories:\\n * 10-19\u00b0F/-12.2 to -7.2\u00b0C: purple (extremely cold)\\n * 20-29\u00b0F/-6.7 to -1.7\u00b0C: blue (very cold)\\n * 30-39\u00b0F/-1.1 to 3.9\u00b0C: green (cold)\\n * 40-49\u00b0F/4.4 to 9.4\u00b0C: yellow (cool)\\n * 50-59\u00b0F/10 to 15\u00b0C: orange (warm)\\n * 60-69\u00b0F/15.6 to 20.6\u00b0C: red (very warm)\\n\\n* Before going on, have students place the colored sticky notes with the temperatures written on them over the original temperatures. Each team is responsible for their first three postings. \\n\\n** 6. Round 4 - Interpolation test.** \\n\\n* Direct the research teams to choose a new positions on the grid and ask them to take a **\\\"GUESS\\\"** of what the temperature will be for each of the charts.\\n\\n* Run the simulation. Students use the correct colored post-it note for the actual temperature and write **\u201cACTUAL\u201d** on the note and place it over their previous guesses. At the end of this round, there should be 32 squares covered on each chart.\\n\\n**7. Class discussion - Introduce interpolation strategy.** Please see Interpolation Strategy discussion prompts in the Discussion Points below. \\n\\n**8. Round 5 - Repeat interpolation strategy.**\\n\\n* Students repeat Step 6 with the new Interpolation Strategy informing their decision. At the end of this round, there should be 40 squares covered on the chart. \\n\\n**9. Interpolate to Complete the Image.**\\n\\n* As a class, fill in the remaining nine squares on the charts with the agreed upon colored sticky notes. Do not run the simulation to check. At this time, the three charts should be completely filled in.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9762-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Location Selection Strategy\\n\\nWhen you ask research groups to choose new positions on the grid, before starting the simulation, have a short discussion on why they selected these locations. The discussion could unveil two potential strategies: \\n\\n1. Areas where data are very sparse (large open areas where we have no readings at all).\\n\\n2. Areas where we are beginning to see interesting trends and want to see whether the patterns we are observing will continue.\\n\\n###Emerging Patterns \u0026 Abstraction\\nAfter 24 squares have been filled in, ask students the following:\\n\\n* Do you see any emerging patterns in the data? \\n\\n* Why is it hard to determine patterns? Responses could include sparseness of data, but also difficulty of seeing patterns around the numerical representation of temperature.\\n\\n* How can we make it easier to see the temperature patterns? Answer: color code the numbers in a system. If students struggle with coming up with an answer, remind them how they tend to see temperature on common weather forecasts.\\n\\n###Data Abstraction (simplifying or generalizing data to analyze it for trends). \\nPossible prompts for the discussion:\\n\\n* Do you see any patterns with the color coding that you did not see before we added the post-it notes?\\n\\n* How does adding the color help? (It helps your perception: your eye is more easily able to see clusters and trends.)\\n\\n* Is there any disadvantage to using color instead of the numbers? (Yes, we lose detail. We can no longer tell the difference between a cell that was 44\u00b0 and one that was 46\u00b0.)\\n\\n###Interpolation Strategy\\nLead a class discussion reflecting on which guesses were right, wrong, and close. Possible prompts:\\n\\n* Which groups got their predictions right? What was their strategy?\\n\\n* Which groups got their predictions wrong? How close were they? What was their strategy?\\n\\n* Do you think real atmospheric scientists ever have to fill in data (\u201cguess\u201d) in between known data points? Why or why not?\\n\\n* What was your strategy/reasoning that informed your guess? \\n\\n* Which research group\u2019s strategies were successful? Which were not? \\n\\n* Any strategies you would like to use in the future?\\n\\n* Did you get better at guessing this time? Why or why not?\\n\\n* How reliable do you think these guesses or estimates are?\\n\\n\\n###Interpolation Introduction\\n\\nTell the students that what they have been doing when guessing is called interpolation, estimating an unknown value based on surrounding information.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9763-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This Precipitating Change How To Tutorial can be shown to the whole class to give students a better understanding of their roles during the Virtual Storm activity. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"Virtual Storm Student Guide,\\\" 2019. \",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20Virtual%20Storm%20Student%20Guide.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9764-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Once you launch the Virtual Storm by clicking \\\"PLAY\\\", the students will watch the clock and record the temperature readings onto the corresponding weather map poster sheets on the wall every four hours (7:00 am, 11:00 am, 3:00 pm). Follow the steps provided in the Theory \u0026 Background section to guide the students to complete the weather maps.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"The Virtual Storm Interactive Alaska,\\\" 2019.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9765-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57\u00b0F\",\"correct\":false},{\"content\":\"58\u00b0F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1708-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54\",\"correct\":false},{\"id\":\"2\",\"content\":\"55\",\"correct\":false},{\"id\":\"3\",\"content\":\"56\",\"correct\":false},{\"content\":\"57\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1710-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143702, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "First Prediction", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ENow you know how to gather information from one weather station at a time.\u0026nbsp; But what about all the places on the map that do not have a weather station?\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148032-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map below. Try to predict what the temperature will be in the cells labeled with a question mark.\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148033-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell A-1.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1785-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell G-3.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1787-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell B-7.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1788-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"There are no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is no other data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It\u2019s difficult to see any patterns with only 8 community\u2019s weather station data.\",\"correct\":false},{\"content\":\"All of the above.\",\"correct\":true,\"id\":\"d0e3f559-c3b2-4ca2-92ee-3638f5a45188\"}],\"prompt\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1789-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1786-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143624, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Second Prediction", + "position": 5, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map to the right.\u0026nbsp; Now, try to predict what the temperature will be in the cells with a question mark.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147941-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell A-1. [blank-1]\u003C/p\u003E\",\"required\":false}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1715-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell G-3. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1716-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell B-7. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1717-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It\u2019s not easy, there are still no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is a lot more data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It\u2019s easier to see any patterns when more data is given.\",\"correct\":false},{\"content\":\"Both B and C.\",\"correct\":true,\"id\":\"b2eba22d-1bbc-4f20-a1c8-c534e9b6085c\"},{\"content\":\"Both A and B.\",\"correct\":false,\"id\":\"283878d3-83dc-407a-a6ab-972efc498d7a\"}],\"prompt\":\"\u003Cp\u003EWhy is it easier to predict the temperature more accurately on this data chart?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1718-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1755-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143209, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolation", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHow do you think weather scientists (meteorologists) fill in data for missing locations? Scientists have many methods for constructing unknown data between known data points. This is called data\u0026nbsp;interpolation.\u003C/p\u003E\n\u003Cp\u003EThere are many different methods to interpolate data. Let\u0026rsquo;s look at the three\u0026nbsp;interpolation\u0026nbsp;methods used to make these maps.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKABCinterpolationtemp.jpg\" alt=\"\" width=\"484\" height=\"383\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003ENearest Neighbor Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square A, you may have guessed 54\u0026deg;F degrees or something very close to that. This is the simplest\u0026nbsp;interpolation\u0026nbsp;method. It is called\u0026nbsp;\u003Cstrong\u003ENearest Neighbor\u003C/strong\u003E. With this method, you find the nearest\u0026nbsp;weather station to the unknown point and assume it has a similar temperature.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003E\u003Cstrong\u003ELinear Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square B, you may have guessed between 38\u0026deg;F and 50\u0026deg;F, but closer to 50\u0026deg;F. Since this square is between two known temperatures, the unknown temperature is probably between 38\u0026deg;F and 50\u0026deg;F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKlinearinterpolation.jpg\" alt=\"\" width=\"310\" height=\"151\" /\u003E\u003C/p\u003E\n\u003Cp\u003EThis method is called\u003Cstrong\u003E Linear Interpolation\u003C/strong\u003E.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003E\u003Cstrong\u003EWeighted Average Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square C, the square is between other squares at 30\u0026deg;F, 48\u0026deg;F, and 50\u0026deg;F. You could average the three numbers and get approximately 43\u0026deg;F. Or you could try to be even more precise. The unknown square is closer to the 50\u0026deg;F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45\u0026deg;F or 46\u0026deg;F). This method is called\u0026nbsp;\u003Cstrong\u003EWeighted Average\u0026nbsp;Interpolation\u003C/strong\u003E\u0026nbsp;since we give more \u0026ldquo;weight\u0026rdquo; or influence to the closer stations.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKweightedneigborinterpolation.jpg\" alt=\"\" width=\"453\" height=\"374\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147378-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Interpolating Weather Station Data\\n\\nStudents will work through three tasks that will deepen their understandings of the three interpolation methods (nearest neighbor, linear, and weighted average). \\n\\n**Teacher Note: Definitions of the Three Interpolation Methods**\\n\\n* **Nearest Neighbor Interpolation:** Find the nearest weather station to your unknown point, and assume it has the same temperature as the unknown.\\n\\n* **Linear Interpolation:** If an unknown is between two points, estimate a number that is between those two points, but closer to the point that it is geographically closer to. Temperature change between the two points should increase/decrease in regular intervals.\\n\\n* **Weighted Average Interpolation**: Choose three stations around your point, and estimate a number that is the average of the three. But, don\u2019t stop there. Try to be even more precise. If the unknown point is closer to one or two of the points, then estimate the unknown point closer in value to the stations it is nearer to.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9766-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"f3ca8705-099e-4903-aea2-fe4ee99c0d22\"}],\"prompt\":\"\u003Cp\u003EIf two weather scientists were using the same data but different interpolation methods, could they get different results?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1723-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Kevin Short Video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1725-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143210, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolation (Cont.)", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEach of the following maps used the same station data but a different data\u0026nbsp;interpolation\u0026nbsp;method:\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AK-3-maps-interpolation.png\" width=\"900\" height=\"315\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147379-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":true,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 1 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1224-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 2 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1225-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 3 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1226-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1721-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Kevin Short Video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1722-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143625, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Pattern Recognition", + "position": 8, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map to the right.\u0026nbsp; Try to think of ways we could make this data easier for finding patterns.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147942-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\" Forget the map and put all of the numbers in order like a number line.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Take the average of each column and each row for that part of Alaska.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Color code the data for certain temperatures. For example from 45-50 degrees F would be the color blue.\",\"correct\":true},{\"content\":\"Add every number together so that we get one really large number to work with. \",\"correct\":false,\"id\":\"eef89f7a-ecfd-48fa-80f7-973d6862bdb1\"}],\"prompt\":\"\u003Cp\u003EWhat are some ways we can make this weather data easier to look at but still use it for predicting weather across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1727-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1770-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143626, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Pattern Recognition (Cont.)", + "position": 9, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EUse the key to the right of the data map to drag and drop the color tiles over the correct temperature for that color\u0026rsquo;s temperature range.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147943-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because all of the numbers would still be the same.\",\"correct\":false},{\"id\":\"2\",\"content\":\"No, because different students would put different temperatures for a color and that would make their map have a different color pattern. \",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIf each student in the class were to make their own color key, would we have all ended up with the same pattern at the end?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1728-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It gets warmer.\",\"correct\":true},{\"id\":\"2\",\"content\":\"It gets cooler.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It stays the same.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat happens to the temperatures at 7am as you travel to the southeast across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1729-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes\",\"correct\":false},{\"id\":\"2\",\"content\":\"No\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWas it as easy to see this warming pattern before we added the colors?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1730-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EExplain your reason for the above answer.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1731-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143627, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weather System", + "position": 10, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EBelow you will see 3 sets of temperature data filled in on 3 different maps of different times. Understand that this data has been \u003Cstrong\u003Einterpolated\u003C/strong\u003E for you. Look at each of the maps in order to see if you can pick out any other patterns happening in the data.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147944-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"The colder temperatures are moving from the northwest towards the southeast.\",\"correct\":true},{\"id\":\"2\",\"content\":\"The temperatures in the southeast are getting much warmer.\",\"correct\":false},{\"id\":\"3\",\"content\":\"The temperatures in the southeast are getting much cooler.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat is happening to the temperatures as time goes from 7am to 3pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1732-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Temperature Map at Three Times", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2090-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143628, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction", + "position": 11, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWow!\u0026nbsp; You made it.\u0026nbsp; Now you can understand how this data was made and put together.\u0026nbsp; See below for some things we want you to do and look for.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147945-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EThings to do and look for:\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003Eturn on and off the temperature data.\u003C/li\u003E\r\n\u003Cli\u003Eturn on and off the color key.\u003C/li\u003E\r\n\u003Cli\u003Eslide through the times from 7am to 3pm.\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\u003Cp\u003ELook for data that was probably interpolated because it\u0026rsquo;s so far from a weather station in a community.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147946-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EPredict the temperature at 7pm for three cities as you did on page 4 but this time for 7pm.\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147947-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Noorvik at 7pm. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1736-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Nome at 7pm. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1738-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143629, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction", + "position": 12, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWere you correct?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147948-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"37\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"38\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"39\u00b0F\",\"correct\":true},{\"content\":\"40\u00b0F\",\"correct\":false,\"id\":\"aa2fd593-c08e-40e2-a0fd-8c1af86eba2d\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1739-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"39\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"40\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"41\u00b0F\",\"correct\":false},{\"content\":\"42\u00b0F\",\"correct\":true,\"id\":\"bdf4731a-c1e0-4794-9f9a-ef03e07668b2\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1741-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003E How far off was your estimate from the actual temperature for each city? (Hint: Subtract the two.)\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1742-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143211, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 13, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147380-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Interpolation Highlights\\n* Remind students that this activity is similar to the \\\"guessing\\\" process they used in their previous activity to fill in the data chart. \\n\\n* Explain again that weather scientists don\u2019t have data for every location on earth and that they interpolate data to develop a more complete picture. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9767-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for A below:\\n\\nWeighted Average = 36\\nNearest Neighbor = 30\\nLinear = 32\\n\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9768-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for B below:\\nWeighted Average = 42\\nNearest Neighbor = 48\\nLinear = 44\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9769-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for C below:\\nWeighted Average = 48\\nNearest Neighbor = 54\\nLinear = 51\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9770-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Making a prediction in blank spaces\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of talking to your neighbor about your weight while standing in a line\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Estimating and unknown value based on surrounding information\",\"correct\":true},{\"content\":\"d) Copying data from weather stations into blank spaces\",\"correct\":false,\"id\":\"fea96b2e-26aa-4fbc-8022-ee8cf6d0f9f1\"}],\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cInterpolation\u201d?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2003-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Weighted Average, Linear, Nearest Neighbor\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Weighted Neighbor, Linear Average, Nearest Common Denominator\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Weighted Linear, Nearest average, Friendly Neighbor\",\"correct\":false},{\"content\":\"d) Alphabetical, Numerical, Linear\",\"correct\":false,\"id\":\"95f3d0b0-6ada-4426-aae5-f91a7cfd469e\"}],\"enableCheckAnswer\":true,\"hint\":\"\",\"prompt\":\"\u003Cp\u003EWhat are the three forms of Interpolation you learned in this lesson?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2009-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It makes the map more interesting to look at so that people might want to watch the weather on television.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It makes it easier to see where the warmer air and cooler air is on the map instead of trying to look at individual numbers.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) Because it\u2019s fun to color things in.\",\"correct\":false}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhy does it help to color code temperatures on a weather map?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2010-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) From the southeast towards the northwest\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) From the East to the West\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) From the West to the East\",\"correct\":false},{\"content\":\"d) From the northwest towards the southeast\",\"correct\":true,\"id\":\"7fef3354-d757-4411-b431-288e9469301c\"}],\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2011-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-3-post.json new file mode 100644 index 00000000..71ca0110 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-3-post.json @@ -0,0 +1,231 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143592, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWhich Estimates Should We Trust?\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png\" width=\"555\" height=\"444\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas. (Each student\u0026rsquo;s estimated temperature choice is in \u003Cstrong\u003Ebold\u003C/strong\u003E to make it easier to find.)\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E53\u02da\u003C/strong\u003E because it\u0026rsquo;s furthest outside of the temperatures that were actually measured at a weather station.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E43\u02da\u003C/strong\u003E because it\u0026rsquo;s far away from any temperatures measured at a weather station.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E39\u02da\u003C/strong\u003E because there aren\u0026rsquo;t any other estimated temperatures near the 39\u02da estimate.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E37\u02da\u003C/strong\u003E because weather usually moves from west to east, so I\u0026rsquo;m unsure about estimates on the west side of the map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png\" alt=\"\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147898-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10240-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it\u2019s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there\u2019s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate \u2013 meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10241-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (39\u00b0)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin\u2019s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39\u00b0 as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n\u2022\\t**Sage\u2019s response (37\u00b0)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37\u00b0 may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n\u2022\\t**Delana\u2019s response (43\u00b0)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43\u00b0 cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana\u2019s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46\u00b0 and 51\u00b0 measured temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Alex\u2019s response (53\u00b0)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana\u2019s response above, if there were a weather front just to the east of the 46\u00b0 and 51\u00b0 observed temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10242-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1688-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1689-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v1/lesson-3-pre.json new file mode 100644 index 00000000..248997ac --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-3-pre.json @@ -0,0 +1,231 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143591, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhich Estimates Should We Trust?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png\" width=\"555\" height=\"444\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas. (Each student\u0026rsquo;s estimated temperature choice is in \u003Cstrong\u003Ebold\u003C/strong\u003E to make it easier to find.)\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E53\u02da\u003C/strong\u003E because it\u0026rsquo;s furthest outside of the temperatures that were actually measured at a weather station.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E43\u02da\u003C/strong\u003E because it\u0026rsquo;s far away from any temperatures measured at a weather station.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E39\u02da\u003C/strong\u003E because there aren\u0026rsquo;t any other estimated temperatures near the 39\u02da estimate.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E37\u02da\u003C/strong\u003E because weather usually moves from west to east, so I\u0026rsquo;m unsure about estimates on the west side of the map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png\" alt=\"\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147895-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10237-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it\u2019s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there\u2019s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate \u2013 meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10238-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (39\u00b0)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin\u2019s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39\u00b0 as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n\u2022\\t**Sage\u2019s response (37\u00b0)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37\u00b0 may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n\u2022\\t**Delana\u2019s response (43\u00b0)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43\u00b0 cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana\u2019s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46\u00b0 and 51\u00b0 measured temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Alex\u2019s response (53\u00b0)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana\u2019s response above, if there were a weather front just to the east of the 46\u00b0 and 51\u00b0 observed temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10239-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1687-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1686-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-3.json b/src/public/offline-activities/precipitating-change-v1/lesson-3.json new file mode 100644 index 00000000..a40742c0 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-3.json @@ -0,0 +1,712 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Displaying Precipitation \u0026 Air Moisture Data", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143621, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application with Jackie Purcell", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how air moisture plays an important part in forming precipitation.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148013-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1765-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143588, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEXPLORING PRECIPITATION, AIR MOISTURE AND TEMPERATURE\u003C/p\u003E\n\u003Cp\u003EHave you ever been caught without your parka or boots when you needed them? Predicting rain or snow\u0026nbsp;is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.\u003C/p\u003E\n\u003Cp\u003EAs weather scientists, you will continue to explore the weather maps. This time you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number).\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPrecipitation symbol = raindrops\u003C/strong\u003E\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg\" alt=\"\" width=\"588\" height=\"141\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147890-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 3: BUILDING RULES:\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students revisit the weather maps they constructed in Lesson 2 and add precipitation and air moisture data for additional time stamps to the weather maps to answer the question \\\"Where does it rain?\\\" Precipitation is a result of the complex interactions between temperature and moisture. Atmospheric scientists construct graphical displays of temperature and moisture content data to help them come up with rules to identify where precipitation occurs. \\n\\nThis lesson introduces a new way of utilizing the virtual simulation that allows students to start recognizing patterns and formalizing their rule statements with the data set they have been exploring in Lesson 2.\\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n* Explain the current weather conditions in their local context\\n\\n* Read weather maps using traditional symbols and codes (adding precipitation)\\n\\n* Use CT strategies (rule abstraction, rule development and rule testing) to develop a better understanding of how to model weather\\n\\nComputational Thinking (CT) skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. Students develop a general statement to answer the question \\\"Where does it rain?\\\"|\\n| Rule Abstraction | Developing a statement of how things work based on observed patterns. | Students make a generic statement to answer \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual model activity |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model.| The virtual model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10229-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (35 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Opening (5 mins)\\n**Activity 1 - Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (20 mins)\\n**Post-Assessment - Which Estimates Should We Trust? (10 mins)\\n\\n\\n### MATERIALS AND SET-UP\\n\\nThe materials and set up are repeated from Lesson 2 - Virtual Storm Technology and included below for your convenience.\\n\\nPer Research Team:\\n\\n* Marker\\n\\n* Fully charged and connected iPad/laptop \\n\\nPer Class:\\n\\n* Set up classroom grid\\n\\nWeather maps:\\n\\n* Display the 7 am, 11 am, and 3 pm completed gridded temperature map students created in Lesson 2, Activity 1 with colored sticky notes for temperatures.\\n\\nCity flags:\\n\\n* Place a printout of each of the Alaskan cities (Bettles, Galena, Nome, Noorvik, St. Mary\u2019s) in locations corresponding to the grid map for Alaska.\\n\\nIn the simulation:\\n\\n* As with the Virtual Storm from the previous lesson, run the simulation (starting at 7 am) and pause it at 3 pm. Students will only collect precipitation data for this activity.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10230-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 3.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10231-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1761-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143589, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring Precipitation", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "\u003Cp\u003EWould you change what you selected to wear? Yes or No\u003C/p\u003E\n\u003Cp\u003EIf yes, what would you change and why?\u003C/p\u003E", + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEXPLORING PRECIPITATION, AIR MOISTURE, AND TEMPERATURE\u003C/p\u003E\n\u003Cp\u003EPretend your classroom represents mainland Alaska and the same virtual storm will move through your classroom. As expert weather scientists, you already know how to combine the data (also known as data aggregation) from this event. This time you are going to focus on collecting precipitation data.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147891-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EMap where it is raining at 3 pm. Work in teams to collect data to fill in the map. Look for relationships between rain and temperature.\u003C/p\u003E\r\n\u003Cp\u003EYou will see precipitation as the following symbol on your weather station.\u003C/p\u003E\r\n\u003Cp\u003EPrecipitation = raindrops\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147892-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Where is it raining?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Where is it not raining?\u003C/p\u003E\r\n\u003Cp\u003E\u003Cbr /\u003E\u0026bull; Describe what the shape of the rain area looks like.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cbr /\u003E\u0026bull; Where on the map is there light (1 raindrop), moderate (2 raindrops) or heavy (3 raindrops) precipitation?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003ELook at your classroom weather map for 3 pm. What patterns do you see when looking at both precipitation and temperature?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208877-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1- Virtual Storm: Exploring Precipitation, Air Moisture, and Temperature\\nThis activity is a continuation of the Virtual Storm simulation and has a similar set-up to the Lesson 2 - Virtual Storm. \\n\\nKey additions in this activity include:\\n\\n* Reusing the 7 am, 11 am, and 3 pm weather map created in Lesson 2.\\n\\n* Pausing the simulation at 3 pm and completely filling in each square. \\n\\nAdditionally, this lesson provides students with an opportunity to explore and explain why it rains in some areas and not others. Students work in teams of weather scientists to collect precipitation data and look for patterns in rainfall, temperature, and air moisture content. Students use the Virtual Storm technology from the beginning, but focus on what is happening at one point in time (at 3 pm). Students then brainstorm all of the patterns they see in the variables of temperature, air moisture, and precipitation and then use those patterns to come up with a general statement (rule) to explain under what conditions rain occurs. Students apply the CT skills of **Data Aggregation** and **Data Abstraction** as they collect and visualize their rain data, but **Pattern Recognition** is the primary computational thinking practice in this Lesson. This sets the stage for the next activity, where students will use the patterns they discover to abstract a rule statement about where rain occurs.\\n\\n###Activity Breakdown\\n**1. Set the stage for the virtual storm with precipitation.** In their research teams, students will be responsible for collecting precipitation data for the region at 7 am (once), 11 am (once), and the entire 3 pm (multiple times). \\n\\n**2. Start the virtual storm with precipitation.** Students first collect and enter precipitation data for 7 am and 11 am but the virtual storm will stay at 3 pm and students will work to complete the map of the region for 3 pm. Students aggregate precipitation data on the 3 pm weather map on the wall. Have students abstract precipitation data by representing it on the map with a raindrop on top of the temperature sticky notes.\\n\\n**3. Pause the virtual storm at 3 pm.** Students explore simulated precipitation only for 3 pm. Research teams move around the room to different locations collecting rain data to complete the 3 pm weather map. \\n\\n**4. Class brainstorm of precipitation patterns.** Lead a class brainstorm, looking for and recognizing patterns in the data. Have the students record their thoughts for precipitation in the online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10232-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"Temperature and Precipitation Discussion Prompts\\n\\n* After the map is complete, have students record their ideas in their Student Notebooks. Encourage students to use the maps on the wall as they describe observed patterns. \\n\\n* For a list of possible class discussion questions, see below: \\n * Where is the rain on the map?\\n * Why do you think it is raining in some places and not others?\\n * Is there a relationship between temperature and precipitation?\\n\\n**Teacher Note**: Patterns should include some notion of precipitation happening in warm areas, and that the rain is clustered in an area and somewhat resembles a diagonal line. Keep in mind that the data they are collecting is a subset of the larger dataset they saw in Lesson 1, Activity 2 - Making an Initial Prediction. This process is a way to help them dive deeper into the data to help support a stronger prediction later in the unit. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10233-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"In this tutorial, you will learn how to guide students in using the virtual storm interactive to test the rules they have created. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials - Where does it rain virtual model?\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10234-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "AK EP2", + "native_height": 752, + "native_width": 920, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://weather.concord.org/index.html?scenario=AK_EP2\r\n", + "type": "MwInteractive", + "ref_id": "96958-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143590, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring Precipitation (Cont.)", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "\u003Cp\u003EYour teacher will lead a class discussion.\u003C/p\u003E\n\u003Cp\u003EPossible discussion questions:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; What was your prediction for the weather in Boston on November 7th at 7am?\u003Cbr /\u003E\u0026bull; What was your strategy that helped you develop your prediction?\u003C/p\u003E", + "sidebar_title": "Class Discussion", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EVIRTUAL STORM: EXPLORING PRECIPITATION, AIR MOISTURE, AND TEMPERATURE\u003C/p\u003E\n\u003Cp\u003EWhat kind of\u0026nbsp;weather\u0026nbsp;is good for playing outside? Can you determine at night what the\u0026nbsp;weather\u0026nbsp;will be the following morning? What kind of information goes into a\u0026nbsp;weather\u0026nbsp;prediction?\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147893-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EAdd air moisture content to your classroom weather maps. Work in teams to collect data to fill in the map.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147894-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Where is it the air most wet?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Where is the air most dry?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Is there a relationship between air moisture and temperature?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Is there a relationship between air moisture and precipitation?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Is there a relationship between air moisture and where there is light (1 raindrop), moderate (2 raindrops) or heavy (3 raindrops) precipitation?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003ELook at your classroom weather map for 3 pm. What relationships do you see between temperature, air moisture, and rain?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208878-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1: Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (Continued)\\n\\n###Activity Breakdown\\n\\n**1. Set up Round 2 by leaving the Virtual Storm at 3 pm.** Explain to students that their new question is: \\\"Why is it raining in some locations and not others? Where does it rain?\\\"\\n\\n**2. Students explore and collect simulated air moisture content data in different spots at 3 pm to complete the weather map. **Air moisture is represented as a number between 1 (very dry air) and 10 (very moist air). Moisture content refers to how much water vapor is in the air. See discussion points below to help guide students through the process.\\n\\n**3. Class brainstorm of air moisture patterns.** See the Discussion Points for possible question prompts.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10235-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Air Moisture Content\\n* Temperature alone is not sufficient to fully answer the questions, \\\"Why is it raining in some locations and not others? Where does it rain?\\\" Another variable, such as air moisture content, is needed. \\n\\n* Briefly introduce the concept of air moisture content. Explain to the students that air contains microscopic water particles, called water vapor. Air moisture content refers to how much water vapor is in the air.\\n\\n* Reference possible students\u2019 past experiences with very moist air (e.g., in the shower or steam room) and/or very dry air (e.g., in a sauna or in the winter). The amount of water vapor is illustrated by an air moisture content number where 0 = very dry air and 10 = very moist air. Students may remember this concept from the data tables they received in Lesson 1.\\n\\n**Teacher Note**: The air moisture data students receive will already be abstracted, so no further abstraction is needed. It is expressed as a single number on a scale of 0 to 10, with 10 having the most water. This corresponds to mass of water per volume of air (i.e., g water/m\u003Csup\u003E3\u003C/sup\u003E air).\\n\\n###Exploration of Simulated Air Moisture Content at 3 pm. \\n* As research groups move around the room to different locations collecting air moisture data to complete the 3 pm weather map, encourage students to observe and share with each other where in the room the air is wettest, and where they guess it will likely be wettest before they check their instruments.\\n\\n###Air Moisture\\n* Lead a class brainstorm of air moisture patterns and have students record their ideas in their Science Notebooks.\\n* Encourage students to use the map on the wall as they describe observed patterns. \\n\\n* For a list of possible questions to guide your discussion, see below:\\n\\n * Where is the air wettest on the map?\\n\\n * Where is the air driest?\\n\\n * Do you see a relationship between air temperature and air moisture content?\\n\\n * Do you see a relationship between air moisture content and precipitation?\\n\\n**Teacher Note**: Students should come away with some notion of how temperature and air moisture seem to follow the same pattern (warm air = wet, cold air = dry), and that it only rains when the air is wet.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10236-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "AK-EP2 ", + "native_height": 752, + "native_width": 920, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://weather.concord.org/index.html?scenario=AK_EP2", + "type": "MwInteractive", + "ref_id": "96959-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143695, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148890-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"75d5130a-6c7b-45f6-80cd-22d7b2eba0e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cprecipitation\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2017-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How much rain is falling to the ground\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Amount or content of water in the air\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) The temperature at which rain will start to fall\",\"correct\":false},{\"content\":\"d) The ratio of the temperature and the wind direction\",\"correct\":false,\"id\":\"65903405-cdf8-4532-a239-e913395a8b36\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of \u201cair moisture\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2018-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It will rain when the air is very dry\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It will rain when the air is very wet\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) It will rain when the air moisture is between 7 and 9\",\"correct\":true},{\"content\":\"d) It will rain when the air moisture is between 5 and 7 \",\"correct\":false,\"id\":\"019a4ccd-da14-4e5f-9692-fe79bddc7c0f\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the relationship between air moisture and precipitation?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2021-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-4-post.json new file mode 100644 index 00000000..3deace99 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-4-post.json @@ -0,0 +1,231 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143598, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhat Are the Rules for Fronts and Precipitation?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147904-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10256-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10257-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10258-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1692-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1693-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v1/lesson-4-pre.json new file mode 100644 index 00000000..3e6ecf57 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-4-pre.json @@ -0,0 +1,231 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143597, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhat Are the Rules for Fronts and Precipitation?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147903-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10253-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10254-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10255-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1690-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1691-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-4.json b/src/public/offline-activities/precipitating-change-v1/lesson-4.json new file mode 100644 index 00000000..32ba2733 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-4.json @@ -0,0 +1,786 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Building Rules", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143689, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how\u0026nbsp;making sense of the weather data helps in predicting\u0026nbsp;weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148014-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1766-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143593, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.\u003C/p\u003E\n\u003Cp\u003EExample: This rule has two parts that must happen to have a certain result. If it was a [ \u003Cstrong\u003Every nice summer\u003C/strong\u003E ] and if it is [ \u003Cstrong\u003EAugust\u003C/strong\u003E ], then there will be [ \u003Cstrong\u003Elots of berries to pick\u003C/strong\u003E ].\u0026nbsp;\u003C/p\u003E\n\u003Cp style=\"text-align: justify;\"\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg\" alt=\"\" width=\"472\" height=\"221\" /\u003E\u003C/p\u003E\n\u003Cp\u003EThink about developing a similar statement that could be used to determine where it will rain.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147899-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 4: BUILDING RULES\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students develop a rule for where it will rain and test their rule using a Virtual Model. This lesson supports students to build their understanding of how observations of natural phenomena (weather) can be generalized (rule abstraction) for computational modeling (rule testing and rule refinement) and predictive purposes. This lesson introduces new technology, a Virtual Model, that allows students to test rules with the dataset they have been exploring in Lesson 3. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n\\n\\nComputational thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | CT Skill Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students develop a general statement to answer the question, \\\"Where does it rain?\\\" |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed. | Students make a generic statement to answer, \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual Model activity|\\n| Rule Refinement | Modifying a rule to be more precise to work in the model. Precise (exact, careful about details) | The Virtual Model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10243-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (45 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Activity 1 - Rule Abstraction Conversation (20 mins)\\n\\n**Activity 2 - Refining and Testing Rules using a Virtual Model (25 mins)\\n\\n### MATERIALS AND SET-UP\\n\\nPer Student:\\n\\n* Science Notebooks\\n* Access to Student Online Activities\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10244-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 4.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10245-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143594, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Rule Abstraction", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EVIRTUAL STORM: RULE ABSTRACTION CONVERSATION\u003C/p\u003E\n\u003Cp\u003EYour task is to take a deeper look at your data and start summarizing the patterns that you see with the goal of writing a one-sentence statement that brings together the most important patterns to answer the question, \u0026ldquo;Where does it rain?\u0026rdquo;.\u003C/p\u003E\n\u003Cp\u003ELet's start by looking at the data you recorded on your Storm Tracker sheet for 3pm in your Science Notebook (page 12).\u003C/p\u003E\n\u003Cp\u003EWork within your research team and circle the areas where you think it will rain based on temperature data.\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4StormTracker7pm.png\" width=\"444\" height=\"444\" /\u003E\u003C/p\u003E\n\u003Cp\u003ENow let's look at the Weather Map of the Alaska area at 7pm (see below). Work with your research team to find patterns that could help you identify where it will rain.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WeatherMAPB.jpg\" alt=\"\" width=\"750\" height=\"583\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147900-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDiscuss with your research team where you expect it will rain at 7 pm on the Weather Map based on the patterns that you saw for 3 pm. Describe below where you think it will rain.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208879-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWrite a general statement that answers the question, \u0026ldquo;Where does it rain?\u0026rdquo; Use the pattern charts and your weather map to create your statement.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208880-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1 - Rule Abstraction\\n\\nStudents create a relational statement explaining where it is raining. The specific computational thinking practices highlighted and practiced in this activity are **Rule Abstraction**, **Rule Testing**, and **Rule Refinement**. We anticipate that this conversation is going to require heavy scaffolding to get students acquainted and comfortable with writing rules. Efforts here will pay off later in Lessons 5 when students must write additional rules for other weather phenomena.\\n\\n**1. Abstracting a rule.**\\n\\n* Introduce the task of writing a one-sentence statement that brings together the most important patterns to answer the question, \u201cWhere does it rain?\u201d \\n\\n**2. Gathering more information.**\\n\\n* Have students look at their Virtual Storm Tracker in their Science Notebook on page 12 and circle where they think it will rain at \\n 7 pm, using temperature only.\\n\\n* Have students look at the Weather Map 7 pm with Precipitation \u0026 Air Moisture Content in their Science Notebook on page 17 and discuss with their research teams where you think it will rain with this new information. \\n\\n* Once they have decided on where they think it will rain, direct students to enter their answer to the question in the appropriate place on this page. \\n\\n**3. Introduce rule abstraction.** Rule Abstraction is creating a general statement derived from exploring patterns in data in order to establish rule(s), principles, or insights that may be generalized to other contexts. This is the first step in creating a rule in order to make a simulation on a computer. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10246-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Drafting Rule Statements\\n\\n* In Lesson 3, students started to see relational connections between the weather variables for 3 pm and may or may not be able to fully articulate their current thinking. To help students develop a stronger voice and build a statement, they are asked to apply their understandings to another time step (7 pm). By applying their thinking at two different time steps, students validate their ideas and develop more formalized ideas on how they think the weather variables relate to each other. \\n\\n* Advise students to try to merge ideas from what they learned in Lessons 2 and 3. \\n\\n* Ask students to be selective in what patterns they think are strongest in explaining precipitation. \\n\\n* Explain to students that they just did something that weather scientists do called Rule Abstraction (creating a general statement derived from exploring patterns in data in order to establish rule(s), principles or insights that may be generalized to other contexts). This is the first step in creating a rule in order to make a simulation on a computer. \\n\\n\\n**Teacher Note**: While statements will vary in construction, level of detail, and even correctness, check in with teams to ensure that statements include some notion of both air moisture content AND temperature being important drivers of whether it will rain. If a team is stuck on one variable or the other, you might point out to them places on the Weather Map posters where their statement fails to hold true. For example, if students are ignoring air moisture, draw their attention to a place on the map where the temperature is warm but it\u2019s not raining.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10247-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143595, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Rule Abstraction (cont.)", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.\u003C/p\u003E\n\u003Cp\u003ETo make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.\u003C/p\u003E\n\u003Cp\u003EYou can practice making more specific rule statements by answering the questions below and testing them using the model.\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147901-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": true, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EUsing the following rule, which pair of grid squares (A, B, or C) will produce rain?\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png\" alt=\"\" width=\"70\" height=\"72\" /\u003E\u003Cbr /\u003EIF the upper square (the northwest square)\u0026nbsp;\u0026nbsp;is colder than the lower square by at least [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E5 degrees\u003C/span\u003E\u003C/strong\u003E ] AND IF the moisture of the lower square is at least [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E7\u003C/span\u003E\u003C/strong\u003E ] THEN it rains in the lower square.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD\" width=\"424\" height=\"182\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EWhich square will have rain according to this rule?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "A", + "is_correct": false, + "prompt": "" + }, { + "choice": "B", + "is_correct": true, + "prompt": "" + }, { + "choice": "C", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17138-Embeddable::MultipleChoice" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143596, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Testing the Rules with a Model ", + "position": 5, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPress \u003Cstrong\u003ESetup\u003C/strong\u003E and then \u003Cstrong\u003ERun\u003C/strong\u003E. Explore all the features of this model. Discuss with your research team what each feature shows you.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cbr /\u003EAfter you have explored the model, refine your precipitation rule until you have found the best fit between the actual precipitation and the precipitation predicted by the rule. Test your rule with all of the data sets.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147902-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat\u0026rsquo;s the best rule to fit the actual precipitation?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208881-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDid your rule fit the actual precipitation perfectly for all data sets?\u0026nbsp; Please explain why or why not.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208882-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EFor a weather model, list as many reasons as you can think of for why a rule might not predict the actual data perfectly.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208883-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat is your final rule statement that answers the question, \"Where does it rain?\"\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208884-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Refining and Testing a Rule with a Virtual Model\\n\\n**Objective:** To deepen students\u2019 understanding of rule refinement with a virtual model that makes it easy to experiment with two varying quantities -- temperature difference and air moisture content. Students use this understanding to solve the challenge of finding the best rule that predicts where precipitation occurs.\\n \\n**1. Encourage students to explore the model.** Ask students to explore all the features of the model. When experimenting with setting rule values, they should try the extreme settings (maximums and minimums) as well as more moderate settings. After 5 to 10 minutes of independent work, let them **tell you** what they have discovered. They might find: \\n\\n* Weather data for five different times with each data set separated by four hours. \\n* Grid squares showing moisture in the upper right corner and temperature in the lower left. \\n* Actual rainfall indicated with the light blue drops. \\n* When \\\"show-results-of-the-rules?\\\" is selected, check marks show which parts of the rule are true. \\n* Check marks appear for each part of the rule when true: orange check for the temperature difference rule and green checks for the moisture rule.\\n* The \\\"Show Rain with these Rules\\\" button displays dark blue drops only where both the temperature difference rule and the moisture rule are true. \\n\\nA short discussion about the following, might be valuable before students go on to the challenge.\\n* Why are there no check marks on the top and left side of the grid? (The temperature rule can\u2019t be calculated because there is no square to the northwest in those rows.)\\n* Is there a rule that makes it rain everywhere (not counting the top and left rows)? Or nowhere?\\n* How did you explore the rules? \\n* How did you test them? \\n* What did you learn? (See if students found a technique for exploring the model. Students might benefit from hearing each other\u2019s strategies.)\\n\\n**2. Challenge: Find the best rule.** Remind students that they are pursuing this question, \\\"Where does it rain?\\\" Or more specifically, \\\"What conditions of temperature and moisture result in rain?\\\" \\n\\nHave students test their rule to find the best fit between the real data (light blue) and the data produced by the rule (dark blue) for the five different times (7 am, 11 am, 3 pm, 7 pm, and 11 pm). They will record their findings in the questions that follow the model.\\n\\nNotes: Try to let students discover that there is no perfect rule. That is, even the best rule may make rain in a square or two that had none or produce rain where there was none. Students will have to work through this. If they find it frustrating, let them know the rule doesn\u2019t need to be perfect. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10248-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Lead a class discussion at the end of the activity. Please see possible discussion points below:\\n\\n* Did working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\n* Would the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\n* Do you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\n* Even if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nDid working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\nWould the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\nDo you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\nEven if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nOptional discussion question, if you have time:\\nThe 7am, 11am, 3pm, and 7pm data matches the Virtual Storm event that you created in Lesson 2 and in Lesson 3. Is the rule that you developed in this activity different than the one in Lesson 3. How have they changed?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10249-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Alaskan Native Thoughts on Climate Change\\\", The International Polar Year, Sep 2, 2008, Run Time:02:09, http://www.ipy.org/index.php?/ipy/multimedia/\u0026view=1869\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10250-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Passport To Knowledge: Polar Palooza\\\", http://passporttoknowledge.com/polar-palooza/video/native01a.mp4\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10251-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this tutorial to learn how students will be interacting with the Virtual Model to test and refine their rule statements to answer the question, \\\"Where does it rain?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: Where Does It Rain?, 2019, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10252-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 800, + "native_width": 800, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/precip-rule-ak-v5.html", + "type": "MwInteractive", + "ref_id": "96960-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143694, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148891-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Simplifying data to make it easier to interpret and find patterns\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) A type of art that makes it difficult to see what the artist is trying to show\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) A piece of something\",\"correct\":false},{\"content\":\"d) When you remove a sliver from your finger\",\"correct\":false,\"id\":\"3a59d5ea-7526-46e7-b468-ff8612b9852d\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cabstraction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2022-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) If the square to the north-west is colder by at least 3 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) If the square to the north-west is colder by at least 5 and if the moisture is at least 9 then it will rain.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) If the square to the north-west is colder by at least 7 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"content\":\"d) If the square to the north-west is colder by at least 5 and if the moisture is at least 7 then it will rain.\",\"correct\":true,\"id\":\"d2ba7a47-fe6d-4a57-a07a-4aa83f0af8e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the best rule to answer the question, \u201cWhere will it rain?\u201d\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2023-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To keep children following the right behaviors\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To see the patterns in data that would allow a person to make a more accurate prediction\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) To explain the historical trends that occur in an area\",\"correct\":false},{\"content\":\"d) To measure the amount of rain that has fallen after a storm\",\"correct\":false,\"id\":\"6f5b2205-979f-4ca2-a12d-6389c5bf10a0\"}],\"prompt\":\"\u003Cp\u003E What is the purpose of a rule for predicting weather?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2024-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-5-post.json new file mode 100644 index 00000000..cb6738ad --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-5-post.json @@ -0,0 +1,268 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Post-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143619, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Represent Wind Direction?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EThe word represent means to let one thing stand for another. For example, some people use the symbol of a\u003C/p\u003E\r\n\u003Cp\u003Eheart [\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png\" width=\"27\" height=\"23\" /\u003E] to represent (or stand for) love. \u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.\u003C/p\u003E\r\n\u003Cp\u003EHere are some different options Ms. Tevuk\u0026rsquo;s students are considering for representing wind direction.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull;\u0026nbsp;\u003Cstrong\u003EWind direction represented with degree number (between 0 and 360) based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png\" width=\"503\" height=\"230\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with letters based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png\" width=\"509\" height=\"234\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with arrows\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png\" alt=\"\" width=\"177\" height=\"181\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with different colors\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png\" alt=\"\" width=\"173\" height=\"177\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable style=\"border: solid 1px #000;\" cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use the \u003Cstrong\u003Eletters for the computer model\u003C/strong\u003E because there are only 8 options, so the computer will have simple information to calculate with and it won\u0026rsquo;t get stuck computing. We can use the \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because that way you can see which way the wind is going.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png\" width=\"267\" height=\"183\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png\" alt=\"\" width=\"270\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003ELet\u0026rsquo;s use \u003Cstrong\u003Enumber of degrees on the computer model\u003C/strong\u003E because computers do calculations with numbers. I think we should use \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because they make the pattern of wind direction easy to see.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png\" width=\"269\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png\" alt=\"\" width=\"271\" height=\"180\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Enumber of degrees for both the computer model and the map\u003C/strong\u003E because computers do calculations with numbers and our map should show what the computer calculated.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png\" width=\"257\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png\" width=\"253\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Ecolors for both the computer model and the map.\u003C/strong\u003E Colors are good for the map because it\u0026rsquo;s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png\" alt=\"\" width=\"275\" height=\"193\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png\" alt=\"\" width=\"275\" height=\"190\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147932-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1702-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning. \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1703-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17148-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10301-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10302-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10303-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v1/lesson-5-pre.json new file mode 100644 index 00000000..be2abe09 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-5-pre.json @@ -0,0 +1,268 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Pre-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143617, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Represent Wind Direction?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EThe word represent means to let one thing stand for another. For example, some people use the symbol of a\u003C/p\u003E\r\n\u003Cp\u003Eheart [\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png\" width=\"27\" height=\"23\" /\u003E] to represent (or stand for) love. \u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.\u003C/p\u003E\r\n\u003Cp\u003EHere are some different options Ms. Tevuk\u0026rsquo;s students are considering for representing wind direction.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull;\u0026nbsp;\u003Cstrong\u003EWind direction represented with degree number (between 0 and 360) based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png\" width=\"503\" height=\"230\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with letters based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png\" width=\"509\" height=\"234\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with arrows\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png\" alt=\"\" width=\"177\" height=\"181\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with different colors\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png\" alt=\"\" width=\"173\" height=\"177\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable style=\"border: solid 1px #000;\" cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use the \u003Cstrong\u003Eletters for the computer model\u003C/strong\u003E because there are only 8 options, so the computer will have simple information to calculate with and it won\u0026rsquo;t get stuck computing. We can use the \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because that way you can see which way the wind is going.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png\" width=\"267\" height=\"183\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png\" alt=\"\" width=\"270\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003ELet\u0026rsquo;s use \u003Cstrong\u003Enumber of degrees on the computer model\u003C/strong\u003E because computers do calculations with numbers. I think we should use \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because they make the pattern of wind direction easy to see.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png\" width=\"269\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png\" alt=\"\" width=\"271\" height=\"180\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Enumber of degrees for both the computer model and the map\u003C/strong\u003E because computers do calculations with numbers and our map should show what the computer calculated.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png\" width=\"257\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png\" width=\"253\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Ecolors for both the computer model and the map.\u003C/strong\u003E Colors are good for the map because it\u0026rsquo;s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png\" alt=\"\" width=\"275\" height=\"193\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png\" alt=\"\" width=\"275\" height=\"190\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147929-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1698-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning. \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1699-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17146-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10295-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10296-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10297-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-5.json b/src/public/offline-activities/precipitating-change-v1/lesson-5.json new file mode 100644 index 00000000..e9bb9a55 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-5.json @@ -0,0 +1,1122 @@ +{ + "description": "\u003Cp\u003EIdentifying Air Masses: Where does the air come from?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Identifying Air Masses", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143690, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how wind direction\u0026nbsp;impacts different air masses.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148015-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1767-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143599, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the\u0026nbsp;weather\u0026nbsp;- wind! The direction of the wind can give you clues about what\u0026nbsp;weather\u0026nbsp;to expect. And when the wind changes its direction drastically, interesting\u0026nbsp;weather\u0026nbsp;events can happen.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003EIn this lesson you will explore how air masses interact by\u0026nbsp;setting up a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more\u0026nbsp;weather\u0026nbsp;stations. In your Science Notebook, go to Lesson 5 to locate the following information:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Map with Additional Weather Stations and Data Tables\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Readings \u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;0 Alaskan Stations 7 am Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147905-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 5: IDENTIFYING AIR MASSES\\n\\n**WHERE DOES THE AIR COME FROM?**\\n\\nIn this lesson, students investigate the role that wind plays in determining the weather and are introduced to ways to identify and define an air mass. Air masses have a similar range of weather variables (temperature and moisture), have indistinct boundaries, and are categorized by the range of weather variables within them. The air within an air mass is constantly moving and precipitation can occur where air from different air masses mixes/interacts. Scientists use models to predict where precipitation will occur based on where different air masses interact, the type of air in each, and the movement of that air.\\n\\nTo begin to identify air masses, students will do a hands-on wind table activity, and get new temperature, air moisture content, and wind direction data for five additional weather stations. As in Lesson 4, the students once again construct a set of rules through a series of activities that allow them to uncover patterns in the data, investigate the mechanisms for these patterns, and abstract a rule that describes the relationship between wind direction, its associated air mass, and the resulting precipitation. \\n\\n###LEARNING GOALS\\nStudents will be able to:\\n\\n* Identify and define an air mass\\n\\n* Explain that air masses are defined by where they come from\\n\\n* Explain the role of wind in weather events\\n\\n* Identify where on a map two different masses are interacting/mixing\\n\\n* Develop a rule for how wind moves and test the rule with multiple kinds of air masses\\n\\n* Develop a rule to express the relationship between weather components (temperature and moisture) and air masses\\n\\nComputational Thinking (CT) skills introduced in this lessons can be found in the table below:\\n\\n| CT Skill | Definition |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed |\\n| Rule Testing | Investigating whether a rule will still be true in different situations |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model |\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10259-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (90 mins)\\n\\n**Key Activities:**\\n\\nLesson 5: Alaska Mainland - Identifying Air Masses\\n\\n* Activity 1- What is an Air Mass (45 mins)\\n\\n* Activity 2 - What happens when air masses collide (10 mins)\\n\\n* Activity 3 - How do air masses affect precipitation? (25 mins)\\n\\n* Post-Assessment - What Are the Rules for Fronts and Precipitation? (10 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - What is an Air Mass?\\n\\nPer Research Team:\\n\\n* Direct students to Lesson 5 in their Science Notebooks to find the following information:\\n * Lesson 5, Activity 1: Wind Table Instructions and Questions\\n * Lesson 5, Activity 2: Additional Weather Station Data\\n * Lesson 5, Activity 2: Weather Stations 7 pm Readings\\n * Lesson 5, Activity 2: Weather Stations 7 pm Interpolated\\n * Lesson 5, Activity 2: 7 pm Weather Station Data and 7 pm Radar Map\\n * Lesson 5, Activity 2: 7 am Weather Station Data \\n\\nPer Class:\\n\\n* Set up on one demonstration table that students can gather around: a wind fan, a piece of paper with a wind rose taped to the table, and a single weather vane. See below for a top-down view. \\n\\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5WIndTablesTopDownView1.jpg\\\" width=\\\"400\\\" height=\\\"350\\\"\u003E\\n\\n* To print the wind rose, click [here](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg) to download. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10260-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 5.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10261-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143600, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EMeasuring Wind with the Compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EOne way wind direction\u0026nbsp;can be measured is with\u0026nbsp;a weather\u0026nbsp;vane or air socks. When the wind blows, the\u0026nbsp;weather\u0026nbsp;vane rotates and lines up with the path the air is flowing. So,\u0026nbsp;wind direction\u0026nbsp;is determined by what direction the wind is blowing and measured in degrees (\u0026deg;).\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg\" alt=\"\" width=\"323\" height=\"328\" /\u003E\u003C/p\u003E\n\u003Cp\u003EIn this activity, you will use a Wind Table to map the movement of air on a grid representing a region in Alaska. Go to your Science Notebooks, Lesson 5, page 21, for further instructions and to record your observations.\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EWind Table\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png\" width=\"576\" height=\"510\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147906-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"\\n###Activity 1 - **What is an Air Mass?**\\nIn this activity students explore the patterns of air movement within and between air masses. Using a hands-on \u201cwind table,\u201d they engage in a tangible interaction with wind. By leveraging patterns from the previous activity dataset and the wind table, they will discover that when two air masses meet, the air converges. Weather scientists refer to these regions as fronts. \\n\\n###Wind Table Directions\\n * **1.Introduce the Wind Table.** Wind is one of the first things that atmospheric scientists look at when investigating the weather, but it can be difficult to understand by just looking at data and maps. A hands-on model is helpful to investigate a phenomenon like the wind.\\n\\n\\n * **2.Assign teams:** Assign research teams a Wind Table position number, either #1 or #2. \\n * **3.Wind tunnel position:** Have students place wind tunnel #1 and wind tunnel #2 according to the diagram in their Science Notebook for their assigned Team #.\\n * **4.Reminders:** Read over the things to keep in mind on page 21 in the Science Notebook, together as a class:\\n * **BE CAREFUL NOT TO PUT YOUR FINGERS NEAR THE FAN**\\n * Graph paper represents a region.\\n * A wind vane can be placed anywhere on the graph paper to determine what direction the wind is coming from.\\n * Record the wind direction by drawing an arrow in the direction the wind vane is pointing. (Recall that wind is always recorded showing the direction the wind is coming from.) If there is not a clear determination where the wind is coming from, then leave the square blank.\\n * Place a Styrofoam ball on the wind table to see the interaction between the two air masses.\\n * **5.Analyze air mass interactions** \\n\\n * Once all of the groups have finished mapping the wind direction, ask the students to determine the boundary of the two air masses by drawing a circle around the different air masses. \\n\\n * Ask the students if there was anywhere on the grid that they either had trouble deciding what direction to draw their arrow. Some students might remark that the wind vane wobbles or spins in the region between the two distinct air masses. Instruct the students to identify the diagonal region between the two air masses and circle this area with a green marker. \\n\\n* **6.Connecting the Wind Table to the interpolated map.** Ask students to compare Alaska Weather Stations: 7 pm Interpolated data with the wind map they created on their Wind Table. Lead a class conversation. See possible Discussion Points below. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10262-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Mass Properties \\n\\nTo a weather scientist, an air mass is a body of air with similar temperature and air moisture content. (Note that scientists also include pressure, but pressure is not covered in this unit.)\\n\\n###Wind Table Demonstration \\nThe compass rose describes the direction the wind is blowing in degrees. Wind coming directly from the South has a direction of 180\u00b0, from the East 90\u00b0, from the North 360\u00b0, etc. Place the fan to the \u201cNorth\u201d of the weather vane and turn it on. Move the weather vane so that it's at the center of the rose and have students read the wind direction from the rose. Then, move the fan to other locations. Ask students where you should move the fan to get a wind direction of, for example, 180\u00b0, 90\u00b0, 45\u00b0, etc. Move the fan to check their predictions. \\n\\n**Teacher Note:** Wind direction is determined by what direction the wind is coming from. This is a consequence of how it is measured. A weather scientist says, \u201cwinds coming from the northeast\u201d not \u201cwinds heading southwest.\u201d This distinction becomes very important when trying to map the flow of air over a region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10263-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143601, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EIDENTIFYING AIR MASSES\u003C/p\u003E\n\u003Cp\u003EIn Lesson 5 of your Science Notebook on pages 21-23, you have additional data weather station data and maps that show you the direction of the wind. On page 22, you will find a map that shows you the 7 pm reading from the additional weather stations. The arrows on the map represent the\u0026nbsp;wind direction. The data on page 23 of your Science Notebook, \"Weather Stations 7 pm Interpolated\" comes from an\u0026nbsp;interpolation\u0026nbsp;of wind direction\u0026nbsp;across the mainland of Alaska at 7 pm. See map below. Using the map on page 23, draw a line that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. It is your job to determine where you see that change in the\u0026nbsp;wind direction.\u003C/p\u003E\n\u003Cp\u003EStrategy for Identifying Two Air Masses:\u003C/p\u003E\n\u003Cp\u003E1. Make Sense of the Map:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each row and see if the arrows change direction as you move across the row.\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each column and see if the arrows change direction as you move down the column.\u0026nbsp;\u003Cbr /\u003E2. Identify where you are going to place your line.\u0026nbsp;\u003Cbr /\u003E3. Draw your line on your paper map.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg\" width=\"623\" height=\"382\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147907-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhy did you draw the line there?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208885-Embeddable::OpenResponse" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143602, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe line that you drew across your map represents a boundary between two\u0026nbsp;air masses. An air mass is a body of air with similar temperature and\u0026nbsp;air moisture\u0026nbsp;content. Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an\u0026nbsp;air moisture\u0026nbsp;content number at the bottom of the square.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg\" width=\"212\" height=\"292\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147908-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EDevelop a way to define the two air masses using the temperature and\u0026nbsp;air moisture\u0026nbsp;content values provided on the Alaskan Stations: Interpolated at 7 pm Map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg\" width=\"651\" height=\"429\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDefined Air Masses for the Alaska Mainland at 7 pm\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "DEFINING AIR MASSES", + "type": "Embeddable::Xhtml", + "ref_id": "147909-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cstrong\u003EAir Mass #1 Properties\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETemperature: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "colder", + "is_correct": false, + "prompt": "" + }, { + "choice": "warmer", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17140-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\" width=\"321\" height=\"88\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAir moisture: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "more moist", + "is_correct": false, + "prompt": "" + }, { + "choice": "more dry", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17141-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cstrong\u003EAir Mass #2 Properties\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETemperature: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #2 over land is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "colder", + "is_correct": false, + "prompt": "" + }, { + "choice": "warmer", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17142-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\" alt=\"\" width=\"354\" height=\"99\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAir moisture: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #2 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "more moist", + "is_correct": false, + "prompt": "" + }, { + "choice": "more dry", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17143-Embeddable::MultipleChoice" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143603, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EFronts\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EThe region between two different air masses is called a\u0026nbsp;\u003Cstrong\u003Efront.\u003C/strong\u003E Weather scientists are very interested in fronts because they are where the\u0026nbsp;weather\u0026nbsp;can change. Sometimes this change is very sudden.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147910-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EGo to page 24 in your Science Notebook and compare the 7 pm interpolated map and the 7 pm radar map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg\" alt=\"\" width=\"860\" height=\"300\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDiscuss with your research team and write a general statement that answers the question, \u0026ldquo;How do air masses affect where it rains?\"\u0026nbsp;\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147911-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Where is the front? Where is it raining? How do they compare?\u003Cbr /\u003E\u0026bull; How does the location of the precipitation on the radar map compare to the warm air mass, the cold air mass, and the front?\u003Cbr /\u003E\u0026bull; What is the air like where it is raining?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow do air masses affect where it rains?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208886-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EGo to page 25 in your Science Notebook and work with you research team to make a prediction for where you think it could rain at 7 am by drawing on the 7 am weather station map in your notebook.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png\" width=\"437\" height=\"263\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAlaska Stations: Interpolated at 7 am\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147912-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EExplain why you think it could rain in the area you selected.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208887-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Masses\\n\\nPossible discussion questions:\\n\\n* How do we identify air masses? (Responses should center on temperature, moisture and wind direction.)\\n\\n* What have you learned about the wind?\\n\\n* What questions do you still have?\\n\\n* Why do you think the wind is important in understanding the weather?\\n\\n\u2022 Are there any connections between the location of the air masses, fronts and precipitation? \\n\\n\u2022 Why do you think it is raining in some places and not others?\\n\\n**Teacher note:** Because air is invisible, students tend to have a lot of misconceptions about it. For example, the idea that air is a substance that can move is central to this lesson. It is easy to assume that students understand this concept when they may not. Asking probing questions can help bring their preconceptions to the forefront. The wind table will help students by giving them a concrete experience.\\n\\n###Describing the Front\\n\\n**Teacher note:** Student responses should be in terms of the actual movement of air and not just wind directions. The front is a particularly important area as students should identify it as a place where warm and cold air from the two air masses is coming together or mixing. Students will need a solid understanding of this concept as it will be revisited in the next lesson when they look at how fronts move over a region. \\n\\n###What is Happening at the Front\\n\\n**Teacher Note:** Students will likely notice that there is precipitation outside the area of the front and there are areas along the front that don\u2019t show precipitation. Make note of these discrepancies and remind them that, as we have seen before, we may not have all of the information to explain everything that we see. Some of their observations will be addressed in Lesson 5.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10264-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143604, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding (cont.)", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYou have made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am. The radar image shows where it was actually raining at 7 am.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png\" width=\"678\" height=\"500\" /\u003E\u003C/p\u003E\n\u003Cp\u003ERadar Image for 7 am\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147913-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow accurate was your prediction?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208888-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003ELook back at your original rule for the question, \u0026ldquo;How do air masses affect where it rains?\u0026rdquo; Using what you learned with the 7 am data, revise your rule.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208889-Embeddable::OpenResponse" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143605, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Air masses and precipitation", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWhen you feel the wind blow on your face, you are feeling air from another place. Sometimes it feels cold; sometimes it feels warm. The wind is what moves air. Weather scientists use\u0026nbsp;wind direction\u0026nbsp;to distinguish multiple air masses. What happens at the boundary of those two air masses? You will explore that question using a new Virtual Model. \u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147914-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EThis model shows wind as moving arrowheads and precipitation as green circles. There are two air masses. Identify where the front is.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EThen, by trying different settings of the temperature and moisture, see if you can make up a rule for what conditions produce precipitation along the front, and on which side of the front the precipitation will occur.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EStart by pressing \u003Cstrong\u003ESetup\u003C/strong\u003E and \u003Cstrong\u003ERun\u003C/strong\u003E. As you change temperatures and moisture settings you may want to press \u003Cstrong\u003ESetup\u003C/strong\u003E occasionally to start fresh. Be sure to discuss what you find with your research team.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147915-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe the position of the front, and explain how you know this.\u003C/p\u003E\r\n\u003Cp\u003EYou may use city names as landmarks.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208890-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Look at the temperature values for Air Mass 1 and Air Mass 2\u003Cbr /\u003E\u0026bull; Look at the moisture values for Air Mass 1 and Air Mass 2\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat are the conditions in the model that result in precipitation happening along a front?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208891-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Is the precipitation happening more on the colder side of the front?\u003Cbr /\u003E\u0026bull; Is the precipitation happening more on the warmer side of the front?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe specifically where the precipitation happens within the front.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208892-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003EMake sure to use precise language and include both temperature and moisture values.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EFinalize your rule statement for \u0026ldquo;How do air masses affect where it rains?\u0026rdquo;\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208893-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 3 - How Do Air Masses Affect Precipitation? Virtual Model\\n\\n**Objective:** To build students\u2019 rule refinement skills by experimenting with a model to figure out its built-in weather rules. In this model, precipitation falls under a variety of conditions that can be set by changing temperatures and moisture for two air masses. \\n\\nStudents can vary the temperature and moisture of two air masses in order to better understand how interacting air masses create patterns of rain at a front. Through this process, students will come up with an even more robust rule for predicting rain that involves interacting air masses. The specific computational thinking practice highlighted and practiced in this activity is **Rule Refinement**.\\n\\n**1. Class discussion about air mass properties.**Use the Alaska Weather Stations: 7am Interpolated map! [](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg) to remind students of the properties of the air masses in their regional weather system. See Discussion Points below for possible prompts. \\n\\n**2. Set up the model challenge.** \\n\\n* Have students recall the rule they developed to answer the question \u201cHow do air masses affect where it rains?\u201d \\n\\n* Students will use the Lesson 5 virtual model to help refine their rule.\\n\\n**3. Exploring the Virtual Model.** \\n\\nIntroduce the task, and give students time to explore the model. Then let them tell you what they discovered. They may notice:\\n\\n * The properties of the incoming air can be changed using the sliders on the left and bottom.\\n\\n * The direction of the wind can be seen with arrows and trails that can be turned on or off.\\n\\n * Precipitation appears as green circles with bigger circles meaning heavier rain.\\n\\n * Color of arrows correspond to temperature (Red = Warm, Blue = Cold, Purple = In Between)\\n\\n * Size of arrows correspond to air moisture (Small = dry, Large = moist or humid)\\n\\nYou may want to point out that\\n\\n * Even though the air in the model moves, the model shows airflow for a certain time. Time does not change.\\n\\n**4. Experiment with the Model to find the Rule**\\n\\nTell students that this model has a built-in rule for precipitation made by the model\u2019s programmer. Students\u2019 challenge is to discover the rule by experimenting with the model. \\n\\n * Students may find it helpful to express their experiments comparing warmer or colder temperatures and moister or drier moisture values instead of specific temperatures or air moisture values.\\n\\n * Give students time to play with the model and record their understanding of the model rule design in the questions that follow.\\n\\nNOTE: This is a fairly sophisticated weather model. Don\u2019t expect that students will discover the full precipitation rule. However, students should discover that the front runs up from the southwestern corner through Bethel and Anchorage with one air mass coming down from the northwest and the other up from the south and southwest. They may discover that generally, precipitation occurs along the front if there is a difference in temperature between the two air masses, and tends to form on the warmer side of the front. Although not always true, students will also see that precipitation forms other places than at the front. If the air masses are quite dry they may not produce precipitation. On the other hand, the warmer the air, the more moisture it can hold before precipitation appears. Very warm air can hold a lot of moisture producing a humid day without any rain.\\n\\nIf students are having trouble making rain, have them try a more systematic approach where they vary just one slider a step at a time to see the effect on precipitation. Be sure they know they have to wait a little while to see the effect of a change as the settings only affect the entering wind. Refreshing the screen by pressing Setup is often helpful. The point of this exercise is to see how well students can react to data and test as many options as possible. How deep is their thinking?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10265-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"After students have completed the questions on this page, project the model for the class, if possible. Ask students to discuss what they noticed about the model and what they learned from experimenting with it. The model is complex so there can be many viewpoints. The objective of this is to have students feel that they can learn from the model themselves. All observations are valid and up for discussion.\\n\\nPossible topics for discussion:\\n* It may be most valuable to discuss the questions student's answered on this page. An extended discussion could come from the question below.\\n\\n* What do the sizes and colors of the wind arrowheads mean? (The redder the warmer; the bluer the cooler; the larger the more moist; and the smaller the drier.)\\n\\n* Does precipitation fall only near the front? (No, it can fall where the arrowheads converge or come closer together.)\\n\\n* If the south settings and the west setting are the same, is there a front? (No, but the air may still converge.)\\n\\n* Do you see precipitation even where there is no front? What is a rule for it forming? (This is a little hard to figure out. By setting a high moisture level and then scanning through the temperatures, students can see that there are some intermediate temperatures that produce a lot of precipitation. At high temperatures, the air holds a lot of moisture; at low temperature the air holds little moisture.)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10266-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video to learn how students will use the Lesson 5 Virtual Model to test and refine their rule for, \\\"How do air masses affect precipitation?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: How Do Air Masses Affect Precipitation?, 2020, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10267-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Lesson 5:Air Mass Model", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/lesson-4-ak-v3.html", + "type": "MwInteractive", + "ref_id": "96961-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143693, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148892-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Can be determined using tools such as a weather vane, flag, or windsock\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Described by using the direction that the wind came from\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Described by using the direction that the wind is going to\",\"correct\":false},{\"content\":\"d) Only A and B\",\"correct\":true,\"id\":\"de903f5f-840c-40c0-91db-73c33017a515\"},{\"content\":\"e) Only A and C\",\"correct\":false,\"id\":\"3852ac5d-832a-4558-a526-1729c4a02a20\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of \u201cwind direction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2027-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A body of air with similar temperatures and air moisture content\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Where the weather begins\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) An air mass that is very dry with calm weather.\",\"correct\":false},{\"content\":\"d) The area between two colliding air masses of different temperatures that result in a change in weather.\",\"correct\":true,\"id\":\"9c06c9a6-3906-4afb-bdb1-066b8d22ad43\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cfront\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2029-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A measurement of the weight of the air.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) A body of air with similar temperatures and air moisture content.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) A piece of equipment that shows the direction the air is moving.\",\"correct\":false},{\"content\":\"d) The line between two fronts where the wind changes direction.\",\"correct\":false,\"id\":\"adf51964-b089-4d02-92c4-8ba5ddd87113\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is an air mass?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2030-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Compass rose and degree directions always tell where the wind is coming from.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Arrows always point where the wind is going.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Compass rose and degree directions always tell where the wind is going.\",\"correct\":false},{\"content\":\"d) Arrows always point where the wind is coming from.\",\"correct\":false,\"id\":\"4dcfa49c-9d65-44c8-ba59-30ad0232f898\"},{\"content\":\"e) Both A and B\",\"correct\":true,\"id\":\"cf4fa7b4-5048-40c0-acbe-478fffa79243\"},{\"content\":\"f) Both C and D\",\"correct\":false,\"id\":\"1dcfe310-0d3d-4879-bf47-0158c1310a6a\"},{\"content\":\"g) Both B and C\",\"correct\":false,\"id\":\"7ddeb9e9-b680-4974-8ed5-fc7aaeea1846\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EHow do meteorologists talk about the wind direction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2031-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) The colder drier air mass\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The colder wetter air mass\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The warmer wetter air mass\",\"correct\":true},{\"content\":\"d) The warmer drier air mass\",\"correct\":false,\"id\":\"cfed3538-0de4-4b54-8414-57afc6d5a849\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhen a front forms with the right conditions for precipitation, which air mass does the precipitation fall in?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2032-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-6-post.json new file mode 100644 index 00000000..2a6a0e81 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-6-post.json @@ -0,0 +1,231 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143611, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Do We Make An Accurate Model to Predict Weather?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe need to run the model longer. The longer you run a computer model the better the prediction will be.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThere\u0026rsquo;s no way to make a computer model that can predict the weather. Computer models aren\u0026rsquo;t the real world, so they can\u0026rsquo;t predict what will happen in the real world.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules and testing the model predictions using Alaska weather data. That way we\u0026rsquo;ll know the model works.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147922-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10282-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10283-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n\u2022\\t**Delana\u2019s response (computer models can\u2019t predict the weather)** suggests the perspective that if you can\u2019t predict something perfectly then your model really doesn\u2019t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, \u201cthey are just models, so they don\u2019t really tell us what\u2019s going to happen in the real world.\u201d \\n\\nStudents who choose Delana\u2019s response could use support in developing understanding that computer models don\u2019t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow\u2019s weather at all. Students who choose Delana\u2019s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be \u201cgood enough\u201d to serve a purpose.\\n\\n###Middle Level \\n\u2022\\t**Alex\u2019s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn\u2019t the problem. \\n\\nStudents who choose Alex\u2019s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n\u2022\\t**Kalin\u2019s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it\u2019s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn\u2019t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n\u2022\\t**Sage\u2019s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model\u2019s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one\u2019s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10284-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1696-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1697-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v1/lesson-6-pre.json new file mode 100644 index 00000000..515bfc3b --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-6-pre.json @@ -0,0 +1,231 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143610, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Do We Make An Accurate Model to Predict Weather?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe need to run the model longer. The longer you run a computer model the better the prediction will be.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThere\u0026rsquo;s no way to make a computer model that can predict the weather. Computer models aren\u0026rsquo;t the real world, so they can\u0026rsquo;t predict what will happen in the real world.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules and testing the model predictions using Alaska weather data. That way we\u0026rsquo;ll know the model works.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147921-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10279-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10280-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n\u2022\\t**Delana\u2019s response (computer models can\u2019t predict the weather)** suggests the perspective that if you can\u2019t predict something perfectly then your model really doesn\u2019t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, \u201cthey are just models, so they don\u2019t really tell us what\u2019s going to happen in the real world.\u201d \\n\\nStudents who choose Delana\u2019s response could use support in developing understanding that computer models don\u2019t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow\u2019s weather at all. Students who choose Delana\u2019s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be \u201cgood enough\u201d to serve a purpose.\\n\\n###Middle Level \\n\u2022\\t**Alex\u2019s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn\u2019t the problem. \\n\\nStudents who choose Alex\u2019s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n\u2022\\t**Kalin\u2019s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it\u2019s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn\u2019t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n\u2022\\t**Sage\u2019s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model\u2019s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one\u2019s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10281-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1694-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1695-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-6.json b/src/public/offline-activities/precipitating-change-v1/lesson-6.json new file mode 100644 index 00000000..fc440414 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-6.json @@ -0,0 +1,529 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Modeling Fronts", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143691, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how moving fronts impact the weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148016-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1768-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143607, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow do fronts move?\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EOver the last couple of weeks, you have been exploring different aspects of regional data. You are now ready to begin to apply all of that knowledge to the unit challenge:\u0026nbsp;What will the\u0026nbsp;weather\u0026nbsp;be in Anchorage 24 hours from now?\u003C/p\u003E\n\u003Cp\u003EUse the resources from your past lessons to help inform your prediction. Go to page 28 in your Science Notebooks to review the Lesson 1, Weather Radar Maps for the Alaskan Region, to help you.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png\" width=\"297\" height=\"230\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png\" width=\"303\" height=\"231\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147917-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 6: MODELING FRONTS\\n**HOW DO FRONTS MOVE?**\\n\\nIn this lesson, students identify the location, direction, and rate of movement of the front. When warm and cold air masses collide, a front forms resulting in a change in weather. Fronts move across regions causing the local weather to change, sometimes suddenly. Scientists use models to predict changes in weather using the properties (temperature and moisture) of the air masses and their movement patterns. In this lesson, the focus shifts to how students can use the data to solve a problem and less on learning about the components of weather (as they did in Lessons 1 - 5). The understandings developed in this lesson support students in developing their predictions for the unit challenge in Lesson 7. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Understand that air masses are constantly moving and their characteristics (temperature and moisture) change\\n\\n* Identify evidence of a front moving through a given location \\n\\n* Analyze the speed and direction of a front moving over a region from given data\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10269-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (1 hour and 30 minutes)\\n\\n**KEY ACTIVITIES:**\\nPre-Assessment: Lesson 6: What Do You Think? (10 mins)\\nActivity 1 - Where is the Front Going? (35 mins)\\n\\nActivity 2 - How Fast is the Front Moving? (45 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - Where is the Front Going?\\n\\nPer Research Team:\\n\\n* Tablet/laptop\\n\\n* Science Notebook\\n \\n * Front Visualizations at 11 am, 9 pm, and 7 am\\n\\n* Alaska Map Transparency\\n\\n* Straight edge (ruler)\\n\\n* Wet erase markers\\n\\n* Paper towels (for erasing)\\n\\nPer Class:\\n\\n* Water (for students to erase on their transparencies, if needed)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10270-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 6.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson6_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10271-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143608, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Where is the front going?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch the \"Lesson 6: Modeling Fronts\" video as a class and think about the question, \"Where is the\u0026nbsp;front\u0026nbsp;going?\" and \u0026ldquo;What do we need to know about the\u0026nbsp;front\u0026nbsp;to predict where it will be in the future?\u0026rdquo;\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003EUsing all the resources you have available to you, including your computational thinking skills, datasets, and the Virtual Model images showing the following time steps (11 am, 9 pm, and 7am), work with your research team to answer the question, \"In what direction is your front moving?\"\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg\" alt=\"\" width=\"743\" height=\"278\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147918-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EIn what direction is your front moving? Be as specific as you can.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208894-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow do you know the front is moving in that direction?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208895-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 1 - Where is the Front Going?\\n\\nThe focus of this activity is to provide students an opportunity to decompose a smaller challenge before they revisit the unit challenge in Lesson 7. In this activity, students use front visualizations from 11 am, 9 pm, and 7 am to see where the air masses are colliding (i.e., the front) at different times and to track the direction of the front. The specific computational thinking skills highlighted and practiced in this activity are **Decomposition**, **Pattern Recognition**, and **Model Evaluation**.\\n\\n###Activity Breakdown\\n\\n1.Play the Lesson 6 Virtual Model tutorial.\\n\\n2.Research teams use the Front Visualizations in their Science Notebooks and the Alaska Map Transparency to describe the direction the front is moving.\\n\\n3.In the student online activity, teams summarize their findings for the direction the front is moving within the region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10272-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Where is the Front Going? Strategy Tips \\nThe intention of this task is to provide students with a more open-ended task than seen in Lessons 1 - 4 and to give them an opportunity to apply their CT skills before solving the unit challenge. It is important that students work independently. The goal is to see if students can decompose the mini front challenge on their own. Additionally, this shift in perspective gives the students agency in their own learning to identify which CT skills are key to addressing this question. Students should realize that they know how to identify a front from Lesson 4, and have data at their disposal that can help them figure out the location of the front is at different points in time. Ideally, they will decompose \u201chow the front moves\u201d into two components: direction (which way it is heading) and speed (distance/time). Please see a list of possible discussion prompts to guide students through this process:\\n\\n\\n* Remind students that they learned how to identify a front in the last lesson, and that fronts can be an indicator of complex weather. \\n\\n* Point out that the unit challenge is to make a decision on if they are to continue, cancel, or postpone the Native Youth Olympics (NYO Games) and explain to them that figuring out where this front will be in 24 hours can help improve their prediction.\\n\\n* Raise the question: What do we need to know about the front to predict where it will be in the future? \\n\\n* Ask the research teams to:\\n\\n * Think about the question and brainstorm their ideas as a group.\\n * Identify the computational thinking skills they think will help them address this challenge. \\n\\n * Identify what features in the Virtual Model would help them answer this question. \\n * Identify what data they have from Lessons 1 - 5 that would help them answer this question.\\n* Have research teams answer the online activity questions.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10273-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Show this video to your students before directing them to page 29 in their Science Notebooks and have students answer the question, \\\"Where is the front going?\\\" Students will then use the transparency and the Virtual Model maps of the front from 11 am, 9 pm, and 7 am on pages 30-32 to determine how fast the front is moving. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials - Modeling Fronts.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson6WhereistheFrontGoing.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10274-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143609, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "How fast is the front moving?", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ENow that you and your research team have figured out which way the\u0026nbsp;front\u0026nbsp;is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it\u0026rsquo;s going to pass through there. Where the\u0026nbsp;front\u0026nbsp;is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the\u0026nbsp;weather.\u003C/p\u003E\n\u003Cp\u003ETo best predict where the\u0026nbsp;front\u0026nbsp;will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance over time). Once you know both speed and direction (from Activity 1) of the\u0026nbsp;front, your\u0026nbsp;weather\u0026nbsp;analysis will help you answer the question \u0026ldquo;How fast is the\u0026nbsp;front\u0026nbsp;moving?\u0026rdquo;\u003C/p\u003E\n\u003Cp\u003EYou will have the following tools to help you:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; Your\u0026nbsp;front images from the Virtual Model\u003Cbr /\u003E\u0026bull; A regional map transparency\u003Cbr /\u003E\u0026bull; Rulers and pens\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147919-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EUsing the available materials, develop a strategy for calculating the rate of the\u0026nbsp;front. Remember that speed equals distance an object moves divided by the time it takes the object to move to its new location.\u003C/p\u003E\r\n\u003Cp style=\"padding-left: 30px;\"\u003E\u003Cstrong\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Speed = Distance/Time\u003C/strong\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147920-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Your answer should be a rate or speed.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Speed is a measurement of distance over time.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Distance can be measured in units of kilometers, miles, etc.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Time can be measured in hours, days, etc.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow fast is the\u0026nbsp;front\u0026nbsp;moving? Be as specific as you can.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208896-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Explain your strategy.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Talk about what you did to come up with your answer.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe how your team figured out how fast the\u0026nbsp;front\u0026nbsp;is moving.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208897-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - How Fast is the Front Moving?\\n\\nThe focus of this activity is for students to analyze the visualization data they generated in Activity 1 and to develop a statement defining the speed of the front moving across the region. The activity ends with research teams developing a description of how fast the front is moving and recording it in the student online activity. The specific computational thinking practice highlighted and practiced in this activity is **Pattern Recognition**.\\n\\n\u003Cbr\u003E**1. Calculate the speed the front is moving.**\\n\\n* Pass out to the research teams their Science Notebooks with the front visualizations, Regional Map Transparency, wet erase markers, paper towels, and rulers. \\n\\n* Students may also want to use the [L1A2: Alaska Weather Station Data Sheet](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1A2_WeatherStationDataAK.png) and the [L4A1: Alaska Additional Weather Stations handouts](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4A1_AdditionalWeatherStationsDataSheet_AK.png). \\n\\n* The primary challenge for students will be deciding where on the front to use as a reference point when measuring the distance that it moves from timestamp to timestamp. Here are some possible suggestions to help the students with this:\\n\\n * Use a ruler to draw a straight line that approximates the middle of the front.\\n\\n * If the front is curved, choose an area that is generally straight.\\n\\n * Encourage students to be consistent, i.e., choose the same reference point every time.\\n\\n**2. Create an analysis statement.** Students use their tools to analyze the movement of the front and develop an analysis statement that summarizes the front movement. They record their statement in the student online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10275-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"The key to this activity is for students to mark up the Regional Map Transparency with the location of the front at each of the time steps that were captured in the visualizations. Once all the time steps are captured on one map (via a transparency marker), students can calculate the speed by measuring the distance between each location of the front and taking an average. Once they have an average distance the front moves and the amount of time between each front line, they can plug their number into a standard speed formula.\\n\\n\u003Cbr\u003EPlease see an example below of a final statement students will make after completing this activity:\u003Cbr\u003E\u003Cbr\u003E\\n**The front is moving from X to Y at a speed of Z.**\u003Cbr\u003E\u003Cbr\u003E\\n\\n\\n\\nStudents can use whatever terms make sense to them. For example, X can stand for \u201cleft,\\\" \u201cupper left,\\\" or \u201cNorthwest.\\\" Speed can be in recorded in squares per hour, squares per every two hours, kilometers per hour, etc.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10276-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a higher resolution and requires a higher bandwidth to download. Please use the lower resolution/lower bandwidth video option below if you have trouble downloading this video.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/alaska-pilot-final.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10277-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a lower resolution and should be used if you have trouble downloading the higher resolution video above.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska-Pilot-Final-low-res.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10278-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143692, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148894-Embeddable::Xhtml" + }, + "section": "header_block" + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-7.json b/src/public/offline-activities/precipitating-change-v1/lesson-7.json new file mode 100644 index 00000000..dcc6426a --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v1/lesson-7.json @@ -0,0 +1,778 @@ +{ + "description": "\u003Cp\u003EAnalyzing Data and Making a Prediction: What will the weather be like 24 hours from now?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 7: Analyzing Data and Making a Prediction", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143696, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how\u0026nbsp;to make predictions for upcoming weather patterns.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148017-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1769-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143612, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYou have been planning the Alaskan Native Youth Olympics (NYO Games) for April 23rd at 7:00 am. This event has been planned for months and the committee is expecting over 500 people to attend. One of your jobs on this committee is to watch the\u0026nbsp;weather\u0026nbsp;and determine if the event is safe to proceed as\u0026nbsp;planned, or if it should be\u0026nbsp;postponed\u0026nbsp;or\u0026nbsp;even canceled.\u003C/p\u003E\n\u003Cp\u003EIt\u0026rsquo;s time to put your computational thinking skills to work!\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147923-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 7: ANALYZING DATA AND MAKING A PREDICTION\\n\\n**What will the local weather be 24 hours from now?**\\n\\nIn this lesson, students revisit the unit challenge and the original question posted to them in Lesson 1, \\\"Should the NYO Games proceed as planned, be postponed or canceled?\\\" Students assume the role of weather forecasters and make a weather prediction for Anchorage on April 23 at 7 am using regional data and models they have been exploring throughout this unit. This lesson is the unit\u2019s capstone experience. \\n\\n\u003Cbr\u003E**LEARNING GOALS:**\\n\\nStudents will be able to:\\n\\n* Articulate how data is visualized from a historic weather event (i.e., temperature, precipitation, wind speed, and wind direction)\\n\\n* Analyze data from a historical weather dataset and provide a description/explanation of the weather event\\n\\n* Make a prediction of future weather using data and reasoning to support their claim\\n\\n* Apply the CT skills they have developed in their analysis of the weather event\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10285-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 3 class periods (135 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\nActivity 1 - Reflecting on the Unit (45 mins)\\n\\nActivity 2 - Research Teams in Action(120 mins)\\n\\nConclusion (15 mins)\\n\\n\\n\u003Cbr\u003E**MATERIALS AND SET-UP:**\\n\\nActivity 2 - Research Teams in Action\\n\\n* Student Presentation Template in [Keynote](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key), [Google](https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing/?target=_blank), or [Powerpoint](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx)\\n\\n* Actual weather in Anchorage on day of event: Moderate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain.\\n\\nTemperature: 43\u00b0F/6.1\u00b0C\\nWind: 280\u00b0\\nPrecipitation: none\\n\\n* [Virtual Model](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) to display where the front will be at the time of the NYO games. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"!Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10286-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a lower resolution and requires a lower bandwidth and should be used if you have difficulty downloading the higher resolution/higher bandwidth option. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10287-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a higher resolution and requires a higher bandwidth. If you have difficulty downloading this video use the lower bandwidth option.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/ConcordAlaska7Final-low.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10288-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143613, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThroughout the Precipitating Change, you have been developing some computational thinking skills that real weather scientist use. Although we have not named the skill until now, notice in the table below the skills you have used to help decide if the NYO Games should proceed.\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr bgcolor=\"#D3D3D3\"\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u003Cstrong\u003EDefinition\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u0026nbsp;\u003C/th\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u003Cstrong\u003EComputational Thinking Skill\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EOrganizing a large amount of information (data) into smaller more manageable parts.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg\" width=\"235\" height=\"132\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp\u003E\u003Cstrong\u003EDecomposition\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EIn \u003Cstrong\u003ELesson 1, \u003C/strong\u003Eyou organized weather station data over a two-day period and radar maps of Alaska every 6 hours to make a prediction.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ERecognizing that data or information is repeating in a logical (expected) way.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png\" width=\"159\" height=\"181\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPattern Recognition\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you ran the model to see temperature data and patterns of data moving across the map. Before and after each run of the model, you interpolated data. You discovered that warm and cold spots on the map are at times on certain sides, and also you saw these spots change location over time.\u003C/p\u003E\r\n\u003Cp\u003EIn\u003Cstrong\u003E Lesson 3 and 4\u003C/strong\u003E, you ran the models to develop a general statement to answer the question \"Where does it rain?\".\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EEstimating an unknown value based on surrounding information.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg\" alt=\"\" width=\"206\" height=\"117\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EInterpolation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you made best guess estimates of the temperatures that were missing on the map.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EFollowing a pattern beyond the known data points.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg\" width=\"205\" height=\"116\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EExtrapolation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you predicted future weather based on patterns you observed in the changing temperatures you collected and visualized.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ECollecting and organizing data to better understand the topic.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg\" width=\"226\" height=\"127\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData Aggregation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you observed temperature data from a model and organized the data to see the \u0026ldquo;big picture\u0026rdquo;.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center; padding: 20px;\"\u003E\r\n\u003Ctd style=\"padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ESimplifying data to make it easier to interpret and find patterns.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg\" width=\"235\" height=\"132\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData Abstraction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you came up with a color scheme for temperature and changed how the data was represented from numbers to temperature categories, and then to colors.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EDeveloping a statement of how things work based on the patterns you observed.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png\" width=\"232\" height=\"143\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003ERule Abstraction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 3\u003C/strong\u003E, you made a generic statement to answer the question, \"Where does it rain?\".\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ELooking at the big picture by putting all the components together in the model to see if it works.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png\" width=\"240\" height=\"176\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EModel Evaluation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 4 and 5\u003C/strong\u003E, you ran a model to determine whether a rule was still true in different situations.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EModifying a rule to be more precise (exact, careful about details) to work in the model.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png\" width=\"254\" height=\"188\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003ERule Refinement\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 4 and 5\u003C/strong\u003E, as you ran the model, you were able to test your rule statements and make changes based on the model.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EForecast based on evidence about a future event.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png\" width=\"274\" height=\"143\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData-based Prediction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 6\u003C/strong\u003E, you selected data including temperature, air moisture and wind direction to help form a forecast about a future event.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147924-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": true, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich skill was the easiest to use? Please explain why.\u003C/p\u003E\r\n\u003Cp\u003Ea)\u0026nbsp;\u0026nbsp; \u0026nbsp;Decomposition\u003C/p\u003E\r\n\u003Cp\u003Eb)\u0026nbsp;\u0026nbsp; Pattern Recognition\u003C/p\u003E\r\n\u003Cp\u003Ec)\u0026nbsp;\u0026nbsp; Interpolation\u003C/p\u003E\r\n\u003Cp\u003Ed)\u0026nbsp;\u0026nbsp; Extrapolation\u003C/p\u003E\r\n\u003Cp\u003Ee)\u0026nbsp;\u0026nbsp; Data Aggregation\u003C/p\u003E\r\n\u003Cp\u003Ef)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eg)\u0026nbsp;\u0026nbsp; Rule Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eh)\u0026nbsp;\u0026nbsp; Model Evaluation\u003C/p\u003E\r\n\u003Cp\u003Ei)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Rule Refinement\u003C/p\u003E\r\n\u003Cp\u003Ej)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data-based Prediction\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208898-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": true, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich skill was the hardest to use? Please explain why?\u003C/p\u003E\r\n\u003Cp\u003Ea)\u0026nbsp;\u0026nbsp; Decomposition\u003C/p\u003E\r\n\u003Cp\u003Eb)\u0026nbsp;\u0026nbsp; Pattern Recognition\u003C/p\u003E\r\n\u003Cp\u003Ec)\u0026nbsp;\u0026nbsp; Interpolation\u003C/p\u003E\r\n\u003Cp\u003Ed)\u0026nbsp;\u0026nbsp; Extrapolation\u003C/p\u003E\r\n\u003Cp\u003Ee)\u0026nbsp;\u0026nbsp; Data Aggregation\u003C/p\u003E\r\n\u003Cp\u003Ef)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eg)\u0026nbsp;\u0026nbsp; Rule Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eh)\u0026nbsp;\u0026nbsp; Model Evaluation\u003C/p\u003E\r\n\u003Cp\u003Ei)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Rule Refinement\u003C/p\u003E\r\n\u003Cp\u003Ej)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data-based Prediction\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208899-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1 - Reflecting on the Unit\\n\\nThe focus of this activity is for students to reflect upon all the computational thinking skills they developed over the unit. The specific computational thinking skill highlighted and practiced in this lesson is **Data-based Prediction**.\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10289-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Synthesis Discussion\\n\\n* Introduce Data-based Prediction as the new CT skill used in this Lesson and discuss as a class using the prompts below: \\n\\n * How will you use this skill in this lesson?\\n\\n * How is your process for making your prediction different now in Lesson 7 than in Lesson 1?\\n\\n * Why do you think knowing this is important?\\n\\n* Review the Computational Thinking (CT) skills chart with your students and see if they can recall when they used the different skills throughout the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10290-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhich skill was the easiest to use? Please explain why.\u003C/p\u003E\\n\u003Cp\u003Ea) Decomposition\u003C/p\u003E\\n\u003Cp\u003Eb) Pattern Recognition\u003C/p\u003E\\n\u003Cp\u003Ec) Interpolation\u003C/p\u003E\\n\u003Cp\u003Ed) Extrapolation\u003C/p\u003E\\n\u003Cp\u003Ee) Data Aggregation\u003C/p\u003E\\n\u003Cp\u003Ef) Data Abstraction\u003C/p\u003E\\n\u003Cp\u003Eg) Rule Abstraction\u003C/p\u003E\\n\u003Cp\u003Eh) Model Evaluation\u003C/p\u003E\\n\u003Cp\u003Ei) Rule Refinement\u003C/p\u003E\\n\u003Cp\u003Ej) Data-based Prediction\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1895-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhich skill was the hardest to use? Please explain why?\u003C/p\u003E\\n\u003Cp\u003Ea) Decomposition\u003C/p\u003E\\n\u003Cp\u003Eb) Pattern Recognition\u003C/p\u003E\\n\u003Cp\u003Ec) Interpolation\u003C/p\u003E\\n\u003Cp\u003Ed) Extrapolation\u003C/p\u003E\\n\u003Cp\u003Ee) Data Aggregation\u003C/p\u003E\\n\u003Cp\u003Ef) Data Abstraction\u003C/p\u003E\\n\u003Cp\u003Eg) Rule Abstraction\u003C/p\u003E\\n\u003Cp\u003Eh) Model Evaluation\u003C/p\u003E\\n\u003Cp\u003Ei) Rule Refinement\u003C/p\u003E\\n\u003Cp\u003Ej) Data-based Prediction\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1896-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143614, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection (cont.)", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EYour Initial Prediction\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EAt the beginning of the unit you made a weather prediction.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147925-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"\",\"teacherTip\":\"You may need to turn on Lesson 1 again if students don't remember what their prediction was on (page ?) in Lesson 1. \",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10291-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EIn Lesson 1, Activity 2 - Making a Prediction, what did you predict the weather will be at 7:00 am in Anchorage on April 23?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1897-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"a6d209ef-958d-474c-a8db-e1b73b84fde7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"2ffa3691-0e65-48b2-8466-b8528d8de2b5\"}],\"prompt\":\"\u003Cp\u003EHow confident were you of your prediction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1898-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143615, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Research Teams in Action", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYour team will produce up to a two-minute weather forecast. You may use the template provided or you may develop your own. In addition, each team needs to write a script or outline that explains your forecast. Include in your forecast the following:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003ELocation of the front that you have been tracking\u003C/li\u003E\n\u003Cli\u003ETemperature\u003C/li\u003E\n\u003Cli\u003EPrecipitation\u003C/li\u003E\n\u003Cli\u003EWind Direction\u003C/li\u003E\n\u003Cli\u003EDecide to hold NYO or to cancel or postpone it due to bad weather preventing teams from flying into Anchorage\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003EYou can access the Student Presentation Template in \u003Ca href=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key\" target=\"_blank\" rel=\"noopener\"\u003EKeynote\u003C/a\u003E, \u003Ca href=\"https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing\" target=\"_blank\" rel=\"noopener\"\u003EGoogle\u003C/a\u003E, or \u003Ca href=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx\" target=\"_blank\" rel=\"noopener\"\u003EPowerpoint\u003C/a\u003E to prepare your forecast.\u003C/p\u003E\n\u003Cp\u003EYou have additional resources to help you:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EWeather\u0026nbsp;Station Data (temperature, moisture content, and\u0026nbsp;wind direction\u0026nbsp;from 10 stations for every 2 hours)\u003C/li\u003E\n\u003Cli\u003ERadar Images (shows\u0026nbsp;precipitation\u0026nbsp;in the region every 6 hours)\u003C/li\u003E\n\u003Cli\u003ERules for where\u0026nbsp;precipitation\u0026nbsp;is likely to occur\u003C/li\u003E\n\u003Cli\u003ERules for how heavy\u0026nbsp;precipitation\u0026nbsp;is likely to be when it occurs\u003C/li\u003E\n\u003Cli\u003EYour model analysis statement of the speed and direction the\u0026nbsp;front\u0026nbsp;is moving\u003C/li\u003E\n\u003C/ul\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147926-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"**1. Guide student teams to complete their weather forecast.**\\n\\n**2. Reveal the actual weather for 7 am on the NYO Games day.**\\n\\nIf possible, project this [MODEL](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) for your students. It is designed to easily show the progress of the front leading up to the NYO Games. It is designed to give your students a sense of completion with their work in this curriculum. It could also help frame a final discussion.\\n\\nThe model has wind data for 13 different days and times from the 10 Alaska weather stations. The drop-down menu, the slider, and the arrow buttons allow you to easily select the wind data in 2-hour intervals between April 21 at 7am to April 22 at 7 am. If you uncheck the \\\"wind-visible?\\\" and \\\"trails?\\\" features you can click through a 24 hour period to see how the wind changes at each station. Repeating this more slowly with one or both checkboxes set true, will show the progress of the front. Finally, press the Reveal button to see the wind at the beginning of the NYO Games. \\n\\nAlso, please see the **Anchorage weather report** below:\\nModerate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain. \\n\\n* Temperature: 43\u00b0F/6.1\u00b0C\\n* Wind: 280\u00b0\\n* Precipitation: none\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10292-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Students will be producing a weather forecast in this lesson. They will deciding to hold the Native Youth Olympics in Anchorage on April 23. Students could also recommend postponing NYO as well.\\n\\nStudents in their teams will be editing a presentation template or creating their own and will be develop a script or outline for the weather forecast to be presented to the class. Please see steps to guide students through the process below:\\n\\n1. Teams will edit the template for their forecast or create their own.\\n\\n2. Teams will write a script or outline to use in their forecast presentation.\\n\\n3. When the team is ready to present, project the presentation. \\n\\n4. As each team presents, video record the presentation.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10293-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143616, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs a research team, reflect on your experience both in this lesson and the weather unit as a whole.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147927-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDid your weather predictions get better at the end of the unit? Why or why not?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208901-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhy do you think weather forecasters sometimes get weather predictions wrong?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208902-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EImagine you could create your own computer weather model to make an even better weather prediction. What extra features would your model have? What could your model do?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208903-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat other problems do you think you could use computational thinking to solve?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208904-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Reflection on the computational thinking practices students learned throughout the unit. \\n\\n* Have a class discussion about computational thinking and weather. You can use the online activity questions as prompts:\\n\\n * Did your weather predictions get better at the end of the unit?\\n\\n * Why do you think weather forecasters sometimes get weather predictions wrong?\\n\\n * If you could have created your own computer weather model to make a better prediction, what else would you have your model do?\\n\\n * What other problems do you think you could use computational thinking to solve?\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10294-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-manifests/precipitaging-change-v1.json b/src/public/offline-manifests/precipitating-change-v1.json similarity index 63% rename from src/public/offline-manifests/precipitaging-change-v1.json rename to src/public/offline-manifests/precipitating-change-v1.json index b4b67a7a..8571b70f 100644 --- a/src/public/offline-manifests/precipitaging-change-v1.json +++ b/src/public/offline-manifests/precipitating-change-v1.json @@ -1,99 +1,99 @@ { - "name": "Precipitating Change Offline Manifest", + "name": "Alaska 2021 - Precipitating Change", "activities": [ { "name": "Interview - Predicting the Weather Without the Weather Channel", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/interview.json", "resourceUrl": "https://authoring.concord.org/activities/11559" }, { "name": "Lesson 1: Making an Initial Prediction", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-1.json", "resourceUrl": "https://authoring.concord.org/activities/11501" }, { "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-1-post.json", "resourceUrl": "https://authoring.concord.org/activities/11630" }, { "name": "Lesson 2: Pre-thoughts - What Do You Think?", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-2-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11565" }, { "name": "Lesson 2: Displaying Temperature Data", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-2.json", "resourceUrl": "https://authoring.concord.org/activities/11526" }, { "name": "Lesson 2: Post-thoughts - What Do You Think?", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-2-post.json", "resourceUrl": "https://authoring.concord.org/activities/11581" }, { "name": "Lesson 3: Pre-thoughts - What Do You Think?", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-3-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11583" }, { "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-3.json", "resourceUrl": "https://authoring.concord.org/activities/11582" }, { "name": "Lesson 3: Post-thoughts - What Do You Think?", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-3-post.json", "resourceUrl": "https://authoring.concord.org/activities/11584" }, { "name": "Lesson 4: Pre-thoughts - What Do You Think?", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-4-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11586" }, { "name": "Lesson 4: Building Rules", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-4.json", "resourceUrl": "https://authoring.concord.org/activities/11585" }, { "name": "Lesson 4: Post-thoughts - What Do You Think?", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-4-post.json", "resourceUrl": "https://authoring.concord.org/activities/11587" }, { "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-5-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11593" }, { "name": "Lesson 5: Identifying Air Masses", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-5.json", "resourceUrl": "https://authoring.concord.org/activities/11588" }, { "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-5-post.json", "resourceUrl": "https://authoring.concord.org/activities/11595" }, { "name": "Lesson 6: Pre-thoughts - What Do You Think?", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-6-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11590" }, { "name": "Lesson 6: Modeling Fronts", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-6.json", "resourceUrl": "https://authoring.concord.org/activities/11589" }, { "name": "Lesson 6: Post-thoughts - What Do You Think?", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-6-post.json", "resourceUrl": "https://authoring.concord.org/activities/11591" }, { "name": "Lesson 7: Analyzing Data and Making a Prediction", - "contentUrl": "", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-7.json", "resourceUrl": "https://authoring.concord.org/activities/11592" } ], From d4249639a396b773433708c456b63b7989d115d6 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Fri, 19 Mar 2021 12:03:53 -0400 Subject: [PATCH 102/242] Fixed data-sync-tracker test --- src/storage/data-sync-tracker.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/storage/data-sync-tracker.test.ts b/src/storage/data-sync-tracker.test.ts index 0dcef4af..0c7c7763 100644 --- a/src/storage/data-sync-tracker.test.ts +++ b/src/storage/data-sync-tracker.test.ts @@ -82,8 +82,8 @@ describe("DataSyncTracker", () => { expect(pluginsDone).toBeCalledTimes(1); expect(receivedPluginStatus).toBeCalledTimes(8); // 4 happy, 4 sad expect(syncTimeout).not.toHaveBeenCalled(); - expect(mySyncTracker.pluginSuccesses).toEqual(1); - expect(mySyncTracker.pluginFailures).toEqual(1); + expect(mySyncTracker.pluginSuccesses).toEqual(2); + expect(mySyncTracker.pluginFailures).toEqual(0); expect(mySyncTracker.pluginDrops).toEqual(0); expect(promiseFunc).toHaveBeenCalled(); happyPlugin.stopListening(); From c9846663a5ac8bd1bb47eff283947f3a93b66b28 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Fri, 19 Mar 2021 12:14:04 -0400 Subject: [PATCH 103/242] add first 2 activities to the cache list --- .../precipitating-change-v1.json | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/public/offline-manifests/precipitating-change-v1.json b/src/public/offline-manifests/precipitating-change-v1.json index 8571b70f..a26fd6a4 100644 --- a/src/public/offline-manifests/precipitating-change-v1.json +++ b/src/public/offline-manifests/precipitating-change-v1.json @@ -98,5 +98,27 @@ } ], "cacheList": [ + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4", + "models-resources/glossary-plugin/version/v3.12.0/manifest.json", + "models-resources/glossary-plugin/version/v3.12.0/plugin.js", + "models-resources/question-interactives/version/v1.1.0/carousel/", + "models-resources/question-interactives/version/v1.1.0/image/", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/", + "models-resources/question-interactives/version/v1.1.0/open-response/", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/video-player/", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.js" ] -} +} \ No newline at end of file From d02fc40466e9c4c3a95ed48f5a6b69cc914267e7 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Fri, 19 Mar 2021 12:28:31 -0400 Subject: [PATCH 104/242] Changed offline activity list to use links [#177363830] This will get us a "clean slate" for the new activity --- src/components/app.tsx | 2 +- src/components/offline-activities.tsx | 23 +++++------------------ 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 23b95d82..cfae70f8 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -366,7 +366,7 @@ export class App extends React.PureComponent { if (offlineManifest && loadingOfflineManifest) { return ; } else if (offlineMode) { - return activity ? this.renderActivity() : ; + return activity ? this.renderActivity() : ; } else if (showSequenceIntro) { return ; } else { diff --git a/src/components/offline-activities.tsx b/src/components/offline-activities.tsx index cc7fd59a..5c177fc9 100644 --- a/src/components/offline-activities.tsx +++ b/src/components/offline-activities.tsx @@ -1,26 +1,23 @@ import React from "react"; -import { getActivityDefinition } from "../lara-api"; import { getOfflineActivities } from "../offline-manifest-api"; -import { Activity, OfflineActivity } from "../types"; +import { OfflineActivity } from "../types"; import { Header } from "./activity-header/header"; import "./offline-activities.scss"; -const OfflineActivityListRow = (props: {activity: OfflineActivity; onSelectOfflineActivity: (activity: OfflineActivity) => void}) => { - const {name, manifestName} = props.activity; +const OfflineActivityListRow = (props: {activity: OfflineActivity}) => { + const {name, manifestName, contentUrl} = props.activity; const displayName = manifestName.length > 0 ? `${manifestName}: ${name}` : name; - const handleSelectActivity = () => props.onSelectOfflineActivity(props.activity); return ( TDB - {displayName} + {displayName} ); }; interface IProps { username: string; - onSelectActivity: (activity: Activity, resourceUrl: string, contentUrl: string) => void; } interface IState { @@ -43,16 +40,6 @@ export class OfflineActivities extends React.Component { this.setState({offlineActivities, loading: false}); } - handleSelectOfflineActivity = async (offlineActivity: OfflineActivity) => { - const { onSelectActivity } = this.props; - try { - const activity = await getActivityDefinition(offlineActivity.contentUrl); - onSelectActivity(activity, offlineActivity.resourceUrl, offlineActivity.contentUrl); - } catch (e) { - alert("Error loading activity!"); - } - } - renderNoActivitiesFound() { return (
    Sorry, no offline activities were found!
    @@ -71,7 +58,7 @@ export class OfflineActivities extends React.Component { {offlineActivities.map(offlineActivity => - + )} From 3490041c08321186a853a16139e61a2321aae66c Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Fri, 19 Mar 2021 14:00:58 -0400 Subject: [PATCH 105/242] Added contentUrl to activity list link --- src/components/offline-activities.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/offline-activities.tsx b/src/components/offline-activities.tsx index 5c177fc9..d1d76913 100644 --- a/src/components/offline-activities.tsx +++ b/src/components/offline-activities.tsx @@ -6,12 +6,14 @@ import { Header } from "./activity-header/header"; import "./offline-activities.scss"; const OfflineActivityListRow = (props: {activity: OfflineActivity}) => { - const {name, manifestName, contentUrl} = props.activity; + const {name, manifestName, contentUrl, resourceUrl} = props.activity; const displayName = manifestName.length > 0 ? `${manifestName}: ${name}` : name; return ( TDB - {displayName} + + {displayName} + ); }; From 4c4e9e8606ec4ffe5d2a5801e7576005fd850ec7 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 20 Mar 2021 21:50:21 -0400 Subject: [PATCH 106/242] import the workbox-window/index for development messages the main module of workbox-window is compiled for production workbox-window/index brings in a the raw source the workbox-window log messages are only printed if process.env.NODE_ENV !== 'production' So by bringing in the raw source we get these messages. I doubled checked to make sure our production build is correctly stripping these messages, and I couldn't find them, so it seems like webpack is correctly compiling workbox-window --- src/components/app.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index cfae70f8..4b352719 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -30,7 +30,7 @@ import { INavigationOptions } from "@concord-consortium/lara-interactive-api"; import { Logger, LogEventName } from "../lib/logger"; import { GlossaryPlugin } from "../components/activity-page/plugins/glossary-plugin"; import { IdleDetector } from "../utilities/idle-detector"; -import { messageSW, Workbox } from "workbox-window"; +import { messageSW, Workbox } from "workbox-window/index"; import { getOfflineManifest, getOfflineManifestAuthoringData, getOfflineManifestAuthoringId, OfflineManifestAuthoringData, mergeOfflineManifestWithAuthoringData, saveOfflineManifestToOfflineActivities, setOfflineManifestAuthoringData, setOfflineManifestAuthoringId } from "../offline-manifest-api"; import { OfflineManifestLoadingModal } from "./offline-manifest-loading-modal"; import { OfflineActivities } from "./offline-activities"; From c1bcb054fa0087e39b050c35e9630012461ea555 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 20 Mar 2021 23:57:42 -0400 Subject: [PATCH 107/242] use workbox-window's messageSkipWaiting this fixes a problem with the previous approach. Workbox sometimes sends the "waiting" event before the wb.register() promise resolves. In those cases the previous approach would not send the skip waiting message because the registration object would still be undefined. --- src/components/app.tsx | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 4b352719..d64eae61 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -30,7 +30,7 @@ import { INavigationOptions } from "@concord-consortium/lara-interactive-api"; import { Logger, LogEventName } from "../lib/logger"; import { GlossaryPlugin } from "../components/activity-page/plugins/glossary-plugin"; import { IdleDetector } from "../utilities/idle-detector"; -import { messageSW, Workbox } from "workbox-window/index"; +import { Workbox } from "workbox-window/index"; import { getOfflineManifest, getOfflineManifestAuthoringData, getOfflineManifestAuthoringId, OfflineManifestAuthoringData, mergeOfflineManifestWithAuthoringData, saveOfflineManifestToOfflineActivities, setOfflineManifestAuthoringData, setOfflineManifestAuthoringId } from "../offline-manifest-api"; import { OfflineManifestLoadingModal } from "./offline-manifest-loading-modal"; import { OfflineActivities } from "./offline-activities"; @@ -155,30 +155,33 @@ export class App extends React.PureComponent { if (enableServiceWorker && ("serviceWorker" in navigator)) { const wb = new Workbox("service-worker.js"); - let registration: ServiceWorkerRegistration | undefined; - - // TODO: in future work this should pop a dialog using this recipe: - // https://developers.google.com/web/tools/workbox/guides/advanced-recipes#offer_a_page_reload_for_users - // for now just send a message to always skip waiting so we don't have to do it manually in the devtools - const alwaysSkipWaitingForNow = () => { - if (registration?.waiting) { - console.log("Sending SKIP_WAITING to service worker..."); - messageSW(registration.waiting, {type: "SKIP_WAITING"}); - } - }; // these are all events defined for workbox-window (https://developers.google.com/web/tools/workbox/modules/workbox-window) wb.addEventListener("installed", (event) => { console.log("A new service worker has installed."); }); wb.addEventListener("waiting", (event) => { - alwaysSkipWaitingForNow(); - }); - wb.addEventListener("externalwaiting" as any, (event) => { - alwaysSkipWaitingForNow(); + // TODO: in future work we should show a dialog using this recipe: + // https://developers.google.com/web/tools/workbox/guides/advanced-recipes#offer_a_page_reload_for_users + // For now just send a message to skip waiting so we don't have to do it manually in the devtools + // This will trigger a 'controlling' event which we are listening for below and reload the page when + // we get it + // + // Note: with the current setup this will cause 2 reloads for each change while developing + // first webpack-dev-server will try to hot load the changes, it will find it can't do this + // (I'm not sure why yet), it will reload the page because the hot load failed, this reload + // will trigger a service worker update because each change to the activity-player + // triggers a new service-worker since it includes a pre-cache manifest that includes + // the javascript files. The service worker update will then trigger this + // waiting event which we "skip". The new service worker will activate and start + // controlling the page which triggers thre reload below. + wb.messageSkipWaiting(); }); wb.addEventListener("controlling", (event) => { - console.log("A new service worker has installed and is controlling."); + // If a new service worker is now controlling the page reload it to make sure + // all of our assets and resources are in sync with the new service worker + console.log("A new service worker has installed and is controlling, reloading the page."); + window.location.reload(); }); wb.addEventListener("activating", (event) => { console.log("A new service worker is activating."); @@ -217,7 +220,7 @@ export class App extends React.PureComponent { }); wb.register().then((_registration) => { - registration = _registration; + console.log("workbox register() resolved"); }); } } From 3b81c5be250a118af3783965371a90688bf4a98d Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 20 Mar 2021 23:58:45 -0400 Subject: [PATCH 108/242] fix jest config, so it can handle workbox-window src files --- package.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index b7f96946..b53638f0 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,11 @@ "src/setupTests.js" ], "transform": { - "^.+\\.tsx?$": "ts-jest" + "^.+\\.[jt]sx?$": "ts-jest" }, + "transformIgnorePatterns": [ + "node_modules/(?!(workbox-window|workbox-core)/)" + ], "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$", "testPathIgnorePatterns": [ "/node_modules/", From adbd2d5a8c872629509232cb7d2aa257ad0baa28 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sun, 21 Mar 2021 01:29:44 -0400 Subject: [PATCH 109/242] block page loading unless there is a controlling service worker If there isn't a controlling service worker, a simple status text is shown. This should be replaced with something more user friendly. --- src/components/app.tsx | 65 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 3 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index d64eae61..deb60119 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -55,6 +55,19 @@ const kLearnPortalUrl = "https://learn.concord.org"; export type ErrorType = "auth" | "network" | "timeout"; +// This is a combination of the standard service worker states: +// installing, installed, activating, activated, redundant +// https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/state +// With additional states for the initial "unknown" startup state and +// a "controlling" state which isn't captured as a "state" by the service worker API +// a "parsed" state is added to satisfy the ServiceWorker types, +// this state is documented here: https://bitsofco.de/the-service-worker-lifecycle/ +// but it isn't lised in the MDN article above +// The actual status is more complex than this because there can be external +// service workers, but perhaps this simplified list +// will be good enough for deciding what to do with the UI +type ServiceWorkerStatus = "unknown" | "parsed" | "installing" | "installed" | "activating" | "activated" | "redundant" | "controlling"; + interface IncompleteQuestion { refId: string; navOptions: INavigationOptions; @@ -84,6 +97,7 @@ interface IState { offlineManifestAuthoringId?: string; offlineManifestAuthoringActivities: OfflineManifestActivity[]; offlineManifestAuthoringCacheList: string[]; + serviceWorkerStatus: ServiceWorkerStatus; showOfflineManifestInstallConfirmation: boolean; showEditUserName: boolean; networkConnected: boolean; @@ -130,6 +144,7 @@ export class App extends React.PureComponent { showOfflineManifestInstallConfirmation: queryValue("confirmOfflineManifestInstall") === "true", offlineManifestAuthoringId, offlineManifestId, + serviceWorkerStatus: "unknown", showEditUserName: false, networkConnected: isNetworkConnected() }; @@ -189,6 +204,8 @@ export class App extends React.PureComponent { wb.addEventListener("activated", (event) => { if (!event.isUpdate) { console.log("Service worker activated for the first time!"); + } else { + console.log("Service worker activated with an update"); } }); wb.addEventListener("message", (event) => { @@ -220,7 +237,44 @@ export class App extends React.PureComponent { }); wb.register().then((_registration) => { - console.log("workbox register() resolved"); + console.log("Workbox register() promise resolved", _registration); + if (navigator.serviceWorker.controller) { + // We are controlled + // This means there was an active service worker when the page was loaded + // There might also be a another service worker waiting to the replace + // the one currently controlling the page, but for our status monitoring + // code we don't care about this waiting service worker. + this.setState({serviceWorkerStatus: "controlling"}); + } else { + // Otherwise, this could be the first + // time the page is loaded or the user could have used shift-reload + // in either case the service worker won't start controlling unless it + // calls clients.claim() and our service worker doesn't do that. + // The service worker will transition through the states of + // installing, installed, waiting, activating, active + // The workbox "waiting" event is different than the waiting state of + // a service worker. During an initial load workbox won't fire the + // waiting event even though the worker passes through the waiting state + + // The _registration has fields for 'installing', 'waiting', and 'active' + // The workbox getSW() is supposed to abstract that so we don't need to check + // of those fields to find the service worker + wb.getSW().then((sw) => { + this.setState({serviceWorkerStatus: sw.state}); + + sw.addEventListener("statechange", () => { + this.setState({serviceWorkerStatus: sw.state}); + }); + }); + + // Workbox doesn't handle a shift-reload well. In that case + // getSW() never resolves even though there could be an active + // service worker. I filed a bug about this: + // https://github.com/GoogleChrome/workbox/issues/2788 + if (_registration?.active) { + this.setState({serviceWorkerStatus: _registration.active.state}); + } + } }); } } @@ -365,8 +419,13 @@ export class App extends React.PureComponent { } private renderContent = () => { - const {offlineManifest, loadingOfflineManifest, showSequenceIntro, sequence, username, offlineMode, showOfflineManifestInstallConfirmation, activity} = this.state; - if (offlineManifest && loadingOfflineManifest) { + const {offlineManifest, loadingOfflineManifest, showSequenceIntro, sequence, + username, offlineMode, showOfflineManifestInstallConfirmation, activity, + serviceWorkerStatus} = this.state; + if (offlineMode && serviceWorkerStatus !== "controlling") { + return
    Service Worker Status: {serviceWorkerStatus}
    ; + } else if (offlineManifest && loadingOfflineManifest) { + // Rendering this has a side effect of actually loading the manifest files return ; } else if (offlineMode) { return activity ? this.renderActivity() : ; From e1d5275db3d239b4437b45b99a9c34b0a0bc6e30 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sun, 21 Mar 2021 21:08:18 -0400 Subject: [PATCH 110/242] handle installing case if a first time service worker started installing in another tab and hasn't finished when the user opens a new tab, getSW() will not resolve in the new tab. Also if the user reloads the current tab while it is still installing for the first time, then getSW() will not resolve. The additions in this commit handle this by looking at _registration.installing and adding a listener to the serviceWorker if there is one. --- src/components/app.tsx | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index deb60119..0dbac6b7 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -271,9 +271,24 @@ export class App extends React.PureComponent { // getSW() never resolves even though there could be an active // service worker. I filed a bug about this: // https://github.com/GoogleChrome/workbox/issues/2788 - if (_registration?.active) { - this.setState({serviceWorkerStatus: _registration.active.state}); + // Likewise it doesn't handle a serviceWorker that started installing + // in a different tab and hasn't finished yet. + const regSW = _registration?.active ?? _registration?.installing; + + if (regSW) { + this.setState({serviceWorkerStatus: regSW.state}); + // This might conflict with the listener added in getSW() + // however currently getSW will only resolve if + // navigator.serviceWorker.controller or registration.waiting are set + // during the registration. At this point in the logic + // navigator.serviceWorker.controller is not set, and + // it is unlikely there would be a waiting worker at the same time + // as an active or installing worker immediately after the register call. + regSW.addEventListener("statechange", () => { + this.setState({serviceWorkerStatus: regSW.state}); + }); } + } }); } From 07a1ac175979fea39649b229b2a1025ca617fc55 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sun, 21 Mar 2021 21:31:14 -0400 Subject: [PATCH 111/242] Add a slightly better UX for showing the installing messages --- src/components/app.tsx | 18 +++---------- src/components/offline-installing.tsx | 37 +++++++++++++++++++++++++++ src/types.ts | 13 ++++++++++ 3 files changed, 53 insertions(+), 15 deletions(-) create mode 100644 src/components/offline-installing.tsx diff --git a/src/components/app.tsx b/src/components/app.tsx index 0dbac6b7..752b2f53 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -14,7 +14,7 @@ import { WarningBanner } from "./warning-banner"; import { CompletionPageContent } from "./activity-completion/completion-page-content"; import { queryValue, queryValueBoolean } from "../utilities/url-query"; import { IPortalData, firebaseAppName } from "../portal-api"; -import { Activity, IEmbeddablePlugin, OfflineManifest, OfflineManifestActivity, Sequence } from "../types"; +import { Activity, IEmbeddablePlugin, OfflineManifest, OfflineManifestActivity, Sequence, ServiceWorkerStatus } from "../types"; import { TrackOfflineResourceUrl, initStorage } from "../storage/storage-facade"; import { initializeLara, LaraGlobalType } from "../lara-plugin/index"; import { LaraGlobalContext } from "./lara-global-context"; @@ -33,6 +33,7 @@ import { IdleDetector } from "../utilities/idle-detector"; import { Workbox } from "workbox-window/index"; import { getOfflineManifest, getOfflineManifestAuthoringData, getOfflineManifestAuthoringId, OfflineManifestAuthoringData, mergeOfflineManifestWithAuthoringData, saveOfflineManifestToOfflineActivities, setOfflineManifestAuthoringData, setOfflineManifestAuthoringId } from "../offline-manifest-api"; import { OfflineManifestLoadingModal } from "./offline-manifest-loading-modal"; +import { OfflineInstalling } from "./offline-installing"; import { OfflineActivities } from "./offline-activities"; import { OfflineNav } from "./offline-nav"; import { OfflineManifestAuthoringNav } from "./offline-manifest-authoring-nav"; @@ -55,19 +56,6 @@ const kLearnPortalUrl = "https://learn.concord.org"; export type ErrorType = "auth" | "network" | "timeout"; -// This is a combination of the standard service worker states: -// installing, installed, activating, activated, redundant -// https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/state -// With additional states for the initial "unknown" startup state and -// a "controlling" state which isn't captured as a "state" by the service worker API -// a "parsed" state is added to satisfy the ServiceWorker types, -// this state is documented here: https://bitsofco.de/the-service-worker-lifecycle/ -// but it isn't lised in the MDN article above -// The actual status is more complex than this because there can be external -// service workers, but perhaps this simplified list -// will be good enough for deciding what to do with the UI -type ServiceWorkerStatus = "unknown" | "parsed" | "installing" | "installed" | "activating" | "activated" | "redundant" | "controlling"; - interface IncompleteQuestion { refId: string; navOptions: INavigationOptions; @@ -438,7 +426,7 @@ export class App extends React.PureComponent { username, offlineMode, showOfflineManifestInstallConfirmation, activity, serviceWorkerStatus} = this.state; if (offlineMode && serviceWorkerStatus !== "controlling") { - return
    Service Worker Status: {serviceWorkerStatus}
    ; + return ; } else if (offlineManifest && loadingOfflineManifest) { // Rendering this has a side effect of actually loading the manifest files return ; diff --git a/src/components/offline-installing.tsx b/src/components/offline-installing.tsx new file mode 100644 index 00000000..bfacaf64 --- /dev/null +++ b/src/components/offline-installing.tsx @@ -0,0 +1,37 @@ +import React from "react"; +import { ServiceWorkerStatus } from "../types"; + +interface IProps { + serviceWorkerStatus: ServiceWorkerStatus; +} + +interface IState { +} + +export class OfflineInstalling extends React.Component { + constructor(props: IProps) { + super(props); + + this.state = { + }; + } + + render() { + const { serviceWorkerStatus } = this.props; + if (serviceWorkerStatus !== "activated") { + return ( +
    + Activity Player Offline is installing.
    + Current status is: {serviceWorkerStatus} +
    + ); + } else { + return ( +
    + Activity Player Offline is installed.
    + Reload the page to continue. +
    + ); + } + } +} diff --git a/src/types.ts b/src/types.ts index ca8edb5c..98aa4746 100644 --- a/src/types.ts +++ b/src/types.ts @@ -284,6 +284,19 @@ export interface OfflineActivity extends OfflineManifestActivity { // TBD: add class info once that is figured out } +// This is a combination of the standard service worker states: +// installing, installed, activating, activated, redundant +// https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/state +// With additional states for the initial "unknown" startup state and +// a "controlling" state which isn't captured as a "state" by the service worker API +// a "parsed" state is added to satisfy the ServiceWorker types, +// this state is documented here: https://bitsofco.de/the-service-worker-lifecycle/ +// but it isn't lised in the MDN article above +// The actual status is more complex than this because there can be external +// service workers, but perhaps this simplified list +// will be good enough for deciding what to do with the UI +export type ServiceWorkerStatus = "unknown" | "parsed" | "installing" | "installed" | "activating" | "activated" | "redundant" | "controlling"; + export interface LogMessage { application: string; run_remote_endpoint?: string; From d00dbb34436aeb37b62887dc55102d592b663b68 Mon Sep 17 00:00:00 2001 From: Kevin Santos Date: Mon, 22 Mar 2021 08:05:02 -0400 Subject: [PATCH 112/242] Update cache list for remaining activitives --- .../precipitating-change-v1.json | 104 +++++++++++++++++- 1 file changed, 103 insertions(+), 1 deletion(-) diff --git a/src/public/offline-manifests/precipitating-change-v1.json b/src/public/offline-manifests/precipitating-change-v1.json index a26fd6a4..c56e3459 100644 --- a/src/public/offline-manifests/precipitating-change-v1.json +++ b/src/public/offline-manifests/precipitating-change-v1.json @@ -98,27 +98,129 @@ } ], "cacheList": [ + "http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", + "http://localhost:11002/question-interactives/version/v0.6.1/image/", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4StormTracker7pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WeatherMAPB.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png", + "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", "https://fonts.googleapis.com/css?family=Lato", "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", + "https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png", + "https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png", + "https://weather.concord.org/index.html?scenario=AK_EP2", + "https://weather.concord.org/index.html?scenario=AK_EP2\r\n", "models-resources/glossary-plugin/version/v3.12.0/manifest.json", "models-resources/glossary-plugin/version/v3.12.0/plugin.js", + "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/precip-models/ak-w-cities.png", + "models-resources/precip-models/lesson-4-ak-v3.html", + "models-resources/precip-models/precip-rule-ak-v5.html", + "models-resources/question-interactives/version/v0.6.1/image", "models-resources/question-interactives/version/v1.1.0/carousel/", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.js", "models-resources/question-interactives/version/v1.1.0/image/", "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.css", "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.js", "models-resources/question-interactives/version/v1.1.0/multiple-choice/", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.js", "models-resources/question-interactives/version/v1.1.0/open-response/", "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.css", "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.js", "models-resources/question-interactives/version/v1.1.0/video-player/", "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.css", - "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.js" + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" ] } \ No newline at end of file From 4a536f27cbc71778d576bd04c00f0fdfad6f1a1c Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 22 Mar 2021 14:30:16 -0400 Subject: [PATCH 113/242] fix a couple of issues in the production manifest --- src/public/offline-manifests/precipitating-change-v1.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/public/offline-manifests/precipitating-change-v1.json b/src/public/offline-manifests/precipitating-change-v1.json index c56e3459..e4b22e2f 100644 --- a/src/public/offline-manifests/precipitating-change-v1.json +++ b/src/public/offline-manifests/precipitating-change-v1.json @@ -98,8 +98,7 @@ } ], "cacheList": [ - "http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", - "http://localhost:11002/question-interactives/version/v0.6.1/image/", + "https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", @@ -223,4 +222,4 @@ "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" ] -} \ No newline at end of file +} From 751d9032f45191fb26ca7bc2557549d23eee6811 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 22 Mar 2021 15:44:46 -0400 Subject: [PATCH 114/242] Notify offline plugins to sync & update Report button status. This commit sends notifications to plugins about requests to synchronize data with FireStore. It also adds some UI hints that an update is in progress, and when an update fails. [#177144932] --- .../report-backup-options.scss | 8 ++ .../report-backup-options.tsx | 37 ++++-- src/lara-plugin/plugins/plugin-context.ts | 3 +- src/storage/data-sync-tracker.ts | 9 +- src/storage/storage-facade.ts | 114 ++++++++++++------ 5 files changed, 117 insertions(+), 54 deletions(-) diff --git a/src/components/activity-completion/report-backup-options.scss b/src/components/activity-completion/report-backup-options.scss index 9d69b00c..896f1afe 100644 --- a/src/components/activity-completion/report-backup-options.scss +++ b/src/components/activity-completion/report-backup-options.scss @@ -35,6 +35,14 @@ svg { fill: $cc-orange-dark1; margin-right: 5px; + height: 24px; + width: 24px; + &.complete { + margin-left: 5px; + } + &.incomplete { + margin-left: 5px; + } } } h2 { diff --git a/src/components/activity-completion/report-backup-options.tsx b/src/components/activity-completion/report-backup-options.tsx index 92af0e98..7c06d339 100644 --- a/src/components/activity-completion/report-backup-options.tsx +++ b/src/components/activity-completion/report-backup-options.tsx @@ -3,6 +3,8 @@ import IconFileDownload from "../../assets/svg-icons/icon-file-download.svg"; import IconFileUpload from "../../assets/svg-icons/icon-file-upload.svg"; import IconHelp from "../../assets/svg-icons/icon-help.svg"; import { getStorage } from "../../storage/storage-facade"; +import IconComplete from "../../assets/svg-icons/icon-check-circle.svg"; +import IconIncomplete from "../../assets/svg-icons/icon-unfinished-check-circle.svg"; import "./report-backup-options.scss"; @@ -10,13 +12,15 @@ interface IProps {} interface IState { activityJSON: string, - filename: string + filename: string, + sending: boolean, + lastSend: null| true | false; } -export class ReportBackupOptions extends React.PureComponent { +export class ReportBackupOptions extends React.PureComponent { public constructor(props: IProps) { super(props); - this.state = {activityJSON: "", filename: "activity"}; + this.state = {activityJSON: "", filename: "activity", sending: false, lastSend:null}; } async componentDidMount() { @@ -27,21 +31,34 @@ export class ReportBackupOptions extends React.PureComponent { } render() { - const { activityJSON, filename } = this.state; + const { activityJSON, lastSend, filename, sending } = this.state; const bb = new Blob([activityJSON], { type: "text/plain" }); const activityLink = window.URL.createObjectURL(bb); const storage = getStorage(); - const reportOptionClass = storage.canSyncData() ? "report-backup-option" : "report-backup-option disabled"; - const reportButtonDisabled = !storage.canSyncData(); - const reportAction = storage.canSyncData() - ? () => storage.syncData() + const reportButtonDisabled = (!storage.canSyncData()) || sending; + const reportOptionClass = reportButtonDisabled + ? "report-backup-option disabled" + : "report-backup-option"; + const reportAction = !reportButtonDisabled + ? () => { + this.setState({sending: true, lastSend: null}); + storage.syncData().then((success) => { + this.setState({sending: false, lastSend: success}); + }); + } : () => null; - + + const reportButtonLabel = sending + ? "sending ..." + : "Report My Work"; + const successLabel = lastSend != null + ? lastSend ? : + : ""; return (

    Reporting/Backing Up My Work

    - +

    Share any work you have done in this activity with your teacher. You will have to be connected to the internet.

    diff --git a/src/lara-plugin/plugins/plugin-context.ts b/src/lara-plugin/plugins/plugin-context.ts index 552f28ed..b3593c5d 100644 --- a/src/lara-plugin/plugins/plugin-context.ts +++ b/src/lara-plugin/plugins/plugin-context.ts @@ -213,7 +213,8 @@ export const generateRuntimePluginContext = (options: IPluginRuntimeContextOptio getClassInfo: () => getClassInfo(options.classInfoUrl), getFirebaseJwt: (appName: string) => getFirebaseJwtFromPortal(appName), wrappedEmbeddable: options.wrappedEmbeddable ? generateEmbeddableRuntimeContext(options.wrappedEmbeddable) : null, - log: (logData: string | ILogData) => log(options, logData) + log: (logData: string | ILogData) => log(options, logData), + offlineMode: options.offlineMode }; return context; }; diff --git a/src/storage/data-sync-tracker.ts b/src/storage/data-sync-tracker.ts index 47dc8684..bda04964 100644 --- a/src/storage/data-sync-tracker.ts +++ b/src/storage/data-sync-tracker.ts @@ -1,8 +1,5 @@ - -import { toJS } from "mobx"; import { emitPluginSyncRequest, IPluginSyncUpdate } from "../lara-plugin/events"; - const KDefaultSyncTimeoutSeconds = 60 * 60; // 1 hour save timeout const KDefaultPluginHeartbeatSeconds = 10; // 10 seconds before we give up @@ -71,16 +68,18 @@ export class DataSyncTracker { this.promiseResolver(); } - finish() { + finish():Promise { return Promise.all(this.pendingPromises).then(() => { const endTimeMs = Date.now(); const elapsedMs = endTimeMs - this.startTimeMs; const elapsedS = elapsedMs / 1000; console.info(`sync finished in ${elapsedS} seconds`); + return true; }); } receivedPluginStatus(status: IPluginSyncUpdate) { + console.log(">==== PLUGIN SYNC ==>", status); // We don't reset the timer if the status is fail or ok, which are terminal. if(status.status===("started" || "working")) { if(status.status === "started") { @@ -97,4 +96,4 @@ export class DataSyncTracker { this.pluginDrops--; } } -} \ No newline at end of file +} diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 4c626797..e551c987 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -4,6 +4,7 @@ import { fetchPortalData, IAnonymousPortalData, IPortalData } from "../portal-ap import { IExportableAnswerMetadata } from "../types"; import { dexieStorage, IDexiePluginRecord, kOfflineAnswerSchemaVersion } from "./dexie-storage"; import { refIdToAnswersQuestionId } from "../utilities/embeddable-utils"; +import { DataSyncTracker } from "./data-sync-tracker"; export interface IInitStorageParams { name: FirebaseImp.FirebaseAppName, @@ -107,7 +108,7 @@ export interface IStorageInterface { exportActivityToJSON: (activityId?: string) => Promise, importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => boolean, canSyncData(): boolean, - syncData(): void + syncData(): Promise } class FireStoreStorageProvider implements IStorageInterface { @@ -188,7 +189,7 @@ class FireStoreStorageProvider implements IStorageInterface { // We are FireStore, so our data is synced by default.... canSyncData() { return false; } - syncData(){ return null; } + syncData() { return Promise.resolve(false); } signOut() { FirebaseImp.signOut(); @@ -400,48 +401,85 @@ class DexieStorageProvider implements IStorageInterface { return false; } - async syncData() { + ensureFirebaseConnection(): Promise { const fsProvider = new FireStoreStorageProvider(); + if(! this.haveFireStoreConnection) { + const portalData = this.portalData; + const appName = portalData?.database.appName ?? "report-service-dev"; + return fsProvider + .initializeDB({name: appName, preview: false, offline: false, portalData}) + .then(() => { + this.haveFireStoreConnection = true; + return fsProvider; + }) + .catch((e) => { + console.error(e); + console.warn("reinitialization of database?"); + return Promise.resolve(fsProvider); + }); + } + return Promise.resolve(fsProvider); + } + + // This is hack to simulate requests taking some time. + fakeWaitingPromise(timeToResolve=5000) { + return new Promise((res) => window.setTimeout(()=> res(), timeToResolve)); + } + + syncData(): Promise { const portalData = this.portalData; - const appName = portalData?.database.appName ?? "report-service-dev"; if(portalData) { - try { - if(! this.haveFireStoreConnection) { - await fsProvider.initializeDB({ name: appName, preview: false, offline: false, portalData}); - this.haveFireStoreConnection = true; - } - // FIXME: this should be checking the resourceUrl of the rawPoralData - // we don't want to send answers for the wrong resource url to an assignment - const answers = await dexieStorage - .answers - .where({resource_url: _currentOfflineResourceUrl}) - .toArray(); - console.dir(answers); - for(const answer of answers) { - fsProvider.createOrUpdateAnswer(answer); - } - // TODO: We need to track dirty state, and clear the dirty flag here. - // Now do plugin states. No need really, so lets skip it for now. - // const pluginStates = await dexieStorage - // .pluginStates - // .toArray(); - - // for(const pState of pluginStates) { - // const {pluginId, state} = pState; - // if(state) { - // fsProvider.setLearnerPluginState(pluginId, state); - // } - // } - } + // DataSyncTracker will emit an event that tells plugins + // that we are online, and its time to save data: + const mySyncTracker = new DataSyncTracker(60 * 30, 5); + + // Save student answers ... + const answerSavingPromise = this.ensureFirebaseConnection() + .then((fsProvider) => { + dexieStorage.answers + .where({resource_url: _currentOfflineResourceUrl}) + .toArray() + .then((answers) => { + console.dir(answers); + for(const answer of answers) { + // TODO: Look into FireStore Batch operations + fsProvider.createOrUpdateAnswer(answer); + } + return this.fakeWaitingPromise(); + }); + }); - catch(e) { - console.error("Could not sync local indexDB to FireStore:"); - console.error(e); - this.haveFireStoreConnection = false; - fsProvider.signOut(); - } + // Save learner plugin states ... + const learnerPluginStateSavingPromise = this.ensureFirebaseConnection() + .then((fsProvider) => { + dexieStorage + .pluginStates + .toArray() + .then((pluginStates) => { + for(const pState of pluginStates) { + const {pluginId, state} = pState; + if(state) { + // TODO: Look into FireStore Batch operations + fsProvider.setLearnerPluginState(pluginId, state); + } + } + return this.fakeWaitingPromise(); + }); + }); + + mySyncTracker.addPromise(answerSavingPromise); + mySyncTracker.addPromise(learnerPluginStateSavingPromise); + return mySyncTracker.start() + .catch((e) => { + console.error("Could not sync local indexDB to FireStore:"); + console.error(e); + this.haveFireStoreConnection = false; + return Promise.resolve(false); + }); } + return Promise.resolve(false); } + } let storageInstance: IStorageInterface; From 973ac9fe08b757f9b5f03671c90ac4c55ae85183 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 22 Mar 2021 16:26:19 -0400 Subject: [PATCH 115/242] PR feedback: use `portalData.resourceUrl` for select. Only send answers that match the current portalData.resourceUrl; [#177144932] --- src/storage/storage-facade.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index e551c987..305f86b1 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -432,12 +432,12 @@ class DexieStorageProvider implements IStorageInterface { // DataSyncTracker will emit an event that tells plugins // that we are online, and its time to save data: const mySyncTracker = new DataSyncTracker(60 * 30, 5); - + const portalResourceUrl = portalData.resourceUrl; // Save student answers ... const answerSavingPromise = this.ensureFirebaseConnection() .then((fsProvider) => { dexieStorage.answers - .where({resource_url: _currentOfflineResourceUrl}) + .where({resource_url: portalResourceUrl}) .toArray() .then((answers) => { console.dir(answers); From 529220b5b14878d4a8ab07e4052eb008e624a2ec Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 22 Mar 2021 17:08:28 -0400 Subject: [PATCH 116/242] Ensure `portalData.resourceUrl` matches current activity before upload. Disable buttons unless the portalData.resourceUrl is the same as the resource the student is working on. [#177144932] --- src/storage/storage-facade.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 305f86b1..c53d80ca 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -393,10 +393,12 @@ class DexieStorageProvider implements IStorageInterface { canSyncData() { const portalToken = (this.portalData as IPortalData)?.portalJWT; + const correctActivity = this.portalData.resourceUrl === _currentOfflineResourceUrl; if(portalToken) { const { exp } = portalToken; const unixTimeStamp = Math.floor(Date.now()/1000); - return (unixTimeStamp < exp); + const tokenStillValid = unixTimeStamp < exp; + return tokenStillValid && correctActivity; } return false; } From f6680fd77ec6e08c187244a47ac6d32b40a782a4 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 22 Mar 2021 17:11:51 -0400 Subject: [PATCH 117/242] manually add completion page to the offline production activities --- .../precipitating-change-v1/interview.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-1-post.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-1.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-2-post.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-2-pre.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-2.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-3-post.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-3-pre.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-3.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-4-post.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-4-pre.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-4.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-5-post.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-5-pre.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-5.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-6-post.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-6-pre.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-6.json | 17 +++++++++++++++++ .../precipitating-change-v1/lesson-7.json | 17 +++++++++++++++++ 19 files changed, 323 insertions(+) diff --git a/src/public/offline-activities/precipitating-change-v1/interview.json b/src/public/offline-activities/precipitating-change-v1/interview.json index d505baff..658cda58 100644 --- a/src/public/offline-activities/precipitating-change-v1/interview.json +++ b/src/public/offline-activities/precipitating-change-v1/interview.json @@ -391,6 +391,23 @@ }, "section": "header_block" }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": null, diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-1-post.json index 003f55da..a1b378cf 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-1-post.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-1-post.json @@ -191,6 +191,23 @@ }, "section": "header_block" }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [], "type": "LightweightActivity", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-1.json b/src/public/offline-activities/precipitating-change-v1/lesson-1.json index 4c01409b..a6f95610 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-1.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-1.json @@ -1095,6 +1095,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": null, diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-2-post.json index 1d8a311b..bae29581 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-2-post.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-2-post.json @@ -247,6 +247,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v1/lesson-2-pre.json index 02426e74..81035d62 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-2-pre.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-2-pre.json @@ -247,6 +247,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-2.json b/src/public/offline-activities/precipitating-change-v1/lesson-2.json index bedea52f..c7cc4fba 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-2.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-2.json @@ -2575,6 +2575,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": null, diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-3-post.json index 71ca0110..38ec1be9 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-3-post.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-3-post.json @@ -210,6 +210,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v1/lesson-3-pre.json index 248997ac..d446650a 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-3-pre.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-3-pre.json @@ -210,6 +210,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-3.json b/src/public/offline-activities/precipitating-change-v1/lesson-3.json index a40742c0..28b87e8f 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-3.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-3.json @@ -691,6 +691,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-4-post.json index 3deace99..f30b308c 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-4-post.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-4-post.json @@ -210,6 +210,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v1/lesson-4-pre.json index 3e6ecf57..42509f1e 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-4-pre.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-4-pre.json @@ -210,6 +210,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-4.json b/src/public/offline-activities/precipitating-change-v1/lesson-4.json index 32ba2733..aace81f4 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-4.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-4.json @@ -765,6 +765,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-5-post.json index cb6738ad..a96cb3e0 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-5-post.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-5-post.json @@ -247,6 +247,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v1/lesson-5-pre.json index be2abe09..66d73883 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-5-pre.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-5-pre.json @@ -247,6 +247,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-5.json b/src/public/offline-activities/precipitating-change-v1/lesson-5.json index e9bb9a55..fb911317 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-5.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-5.json @@ -1101,6 +1101,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v1/lesson-6-post.json index 2a6a0e81..b17f5c67 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-6-post.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-6-post.json @@ -210,6 +210,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v1/lesson-6-pre.json index 515bfc3b..4288aee4 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-6-pre.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-6-pre.json @@ -210,6 +210,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-6.json b/src/public/offline-activities/precipitating-change-v1/lesson-6.json index fc440414..c7cf1982 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-6.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-6.json @@ -508,6 +508,23 @@ }, "section": "header_block" }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", diff --git a/src/public/offline-activities/precipitating-change-v1/lesson-7.json b/src/public/offline-activities/precipitating-change-v1/lesson-7.json index dcc6426a..46172cbe 100644 --- a/src/public/offline-activities/precipitating-change-v1/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v1/lesson-7.json @@ -757,6 +757,23 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] }], "plugins": [{ "description": "", From 11e13d17c1096f8e48094f7ddda78bc58b421783 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 23 Mar 2021 07:05:57 -0400 Subject: [PATCH 118/242] Added automatic caching of glossary assets [#177398187] --- src/components/app.tsx | 17 ++----- src/utilities/activity-utils.test.ts | 69 +++++++++++++++++++++++++++- src/utilities/activity-utils.ts | 48 ++++++++++++++----- 3 files changed, 110 insertions(+), 24 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index dd1d10b4..37084336 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -327,7 +327,7 @@ export class App extends React.PureComponent { const contentUrl = queryValue("contentUrl") || activityPath; activity = await getActivityDefinition(contentUrl); if (offlineManifestAuthoringId) { - this.addActivityToOfflineManifest(offlineManifestAuthoringId, activity, resourceUrl, contentUrl); + await this.addActivityToOfflineManifest(offlineManifestAuthoringId, activity, resourceUrl, contentUrl); } } @@ -721,14 +721,16 @@ export class App extends React.PureComponent { this.setState({loadingOfflineManifest: false}); } - private addActivityToOfflineManifest = (offlineManifestAuthoringId: string, activity: Activity, + private addActivityToOfflineManifest = async (offlineManifestAuthoringId: string, activity: Activity, resourceUrl: string, contentUrl: string) => { if (offlineManifestAuthoringId && isNotSampleActivityUrl(contentUrl)) { + const urls = await getAllUrlsInActivity(activity); + this.setState(prevState => { let {offlineManifestAuthoringActivities} = prevState; const {offlineManifestAuthoringCacheList} = prevState; - getAllUrlsInActivity(activity).forEach(urlInActivity => { + urls.forEach(urlInActivity => { if (offlineManifestAuthoringCacheList.indexOf(urlInActivity) === -1) { offlineManifestAuthoringCacheList.push(urlInActivity); } @@ -748,15 +750,6 @@ export class App extends React.PureComponent { } } - private handleSelectOfflineActivity = (selectedActivity: Activity, resourceUrl: string, contentUrl: string) => { - this.setState({ activity: selectedActivity }); - this.trackOfflineResourceUrl(resourceUrl); - if (this.state.offlineManifestAuthoringId) { - this.addActivityToOfflineManifest(this.state.offlineManifestAuthoringId, selectedActivity, - resourceUrl, contentUrl); - } - } - private handleShowOfflineActivities = () => this.setState({ activity: undefined }); private trackOfflineResourceUrl(resourceUrl: string) { diff --git a/src/utilities/activity-utils.test.ts b/src/utilities/activity-utils.test.ts index 429d7855..1c252a8d 100644 --- a/src/utilities/activity-utils.test.ts +++ b/src/utilities/activity-utils.test.ts @@ -1,12 +1,18 @@ +import fetch from "jest-fetch-mock"; + import { Activity } from "../types"; import { isQuestion, isEmbeddableSectionHidden, getVisibleEmbeddablesOnPage, VisibleEmbeddables, - EmbeddableSections, getPageSectionQuestionCount, numQuestionsOnPreviousPages, enableReportButton, getPagePositionFromQueryValue, isNotSampleActivityUrl, orderedQuestionsOnPage } from "./activity-utils"; + EmbeddableSections, getPageSectionQuestionCount, numQuestionsOnPreviousPages, enableReportButton, getPagePositionFromQueryValue, isNotSampleActivityUrl, orderedQuestionsOnPage, isExternalOrModelsResourcesUrl, getAllUrlsInActivity, removeDuplicateUrls } from "./activity-utils"; import _activityHidden from "../data/sample-activity-hidden-content.json"; import _activity from "../data/sample-activity-multiple-layout-types.json"; +import _glossaryActivity from "../data/sample-activity-glossary-plugin.json"; import { DefaultTestActivity } from "../test-utils/model-for-tests"; +(window as any).fetch = fetch; + const activityHidden = _activityHidden as unknown as Activity; const activity = _activity as unknown as Activity; +const glossaryActivity = _glossaryActivity as unknown as Activity; describe("Activity utility functions", () => { it("determines if embeddable is a question", () => { @@ -118,4 +124,65 @@ describe("Activity utility functions", () => { expect(orderedQuestionsOnPage(activityHidden.pages[2]).length).toEqual(2); expect(orderedQuestionsOnPage(activityHidden.pages[3]).length).toEqual(0); }); + + it("determines if string is an external or models resources url", () => { + expect(isExternalOrModelsResourcesUrl("http://example.com")).toBe(true); + expect(isExternalOrModelsResourcesUrl("https://example.com")).toBe(true); + expect(isExternalOrModelsResourcesUrl("models-resources/foo")).toBe(true); // models-resources is special as it is proxied + expect(isExternalOrModelsResourcesUrl("bar")).toBe(false); + }); + + it("removes duplicate urls", () => { + expect(removeDuplicateUrls([ + "http://example.com/", + "http://example.com/foo", + "http://example.com/bar", + "http://example.com/", + "http://example.com/foo" + ])).toEqual([ + "http://example.com/", + "http://example.com/foo", + "http://example.com/bar" + ]); + }); + + it("gets all urls in an activity including glossary urls", async () => { + + // first test an activity with no glossary + let urls = await getAllUrlsInActivity(activity); + expect(urls).toEqual([ + "https://upload.wikimedia.org/wikipedia/commons/c/c1/Six_weeks_old_cat_%28aka%29.jpg", + "https://models-resources.concord.org/question-interactives/branch/master/multiple-choice/", + "https://models-resources.concord.org/question-interactives/branch/master/open-response/", + "https://connected-bio-spaces.concord.org/", + "https://www.wikipedia.org/" + ]); + + // mock the glossary json + fetch.mockResponse(JSON.stringify({ + askForUserDefinition: true, + autoShowMediaInPopup: false, + showSideBar: false, + definitions: [ + { + word: "test", + definition: "this is a test", + image: "https://token-service-files.s3.amazonaws.com/glossary-plugin/ZWjh4IciSnBkWfu4gODs/5cacbe00-1c44-11ea-90e3-39c0ba8d079c-sticky note.svg", + zoomImage: "https://token-service-files.s3.amazonaws.com/glossary-plugin/ZWjh4IciSnBkWfu4gODs/5d298f20-1c44-11ea-90e3-39c0ba8d079c-IMG_8603.jpeg" + } + ] + })); + + // then test an activity with a glossary + urls = await getAllUrlsInActivity(glossaryActivity); + expect(urls).toEqual([ + "https://models-resources.concord.org/question-interactives/branch/master/open-response/", + "https://teacher-edition-tips-plugin.concord.org/version/v3.5.6/plugin.js", + "https://example.com/manifest.json", + "https://glossary-plugin.concord.org/plugin.js", + "https://glossary-plugin.concord.org/manifest.json", + "https://token-service-files.s3.amazonaws.com/glossary-plugin/ZWjh4IciSnBkWfu4gODs/5cacbe00-1c44-11ea-90e3-39c0ba8d079c-sticky note.svg", + "https://token-service-files.s3.amazonaws.com/glossary-plugin/ZWjh4IciSnBkWfu4gODs/5d298f20-1c44-11ea-90e3-39c0ba8d079c-IMG_8603.jpeg" + ]); + }); }); diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index 7dd81fe7..58dcf95a 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -168,13 +168,13 @@ export const getPagePositionFromQueryValue = (activity: Activity, pageQueryValue return Math.max(0, Math.min((parseInt(pageQueryValue, 10) || 0), activity.pages.length)); }; -export const walkActivity = (activityNode: any, stringCallback: (s: string) => string) => { +export const walkObject = (activityNode: any, stringCallback: (s: string) => string) => { if (!activityNode) { return; } if (activityNode instanceof Array) { for (const i in activityNode) { - walkActivity(activityNode[i], stringCallback); + walkObject(activityNode[i], stringCallback); } } else if (typeof activityNode === "object" ) { Object.keys(activityNode).forEach(key => { @@ -183,7 +183,7 @@ export const walkActivity = (activityNode: any, stringCallback: (s: string) => s activityNode[key] = stringCallback(activityNode[key]); break; case "object": - walkActivity(activityNode[key], stringCallback); + walkObject(activityNode[key], stringCallback); break; } }); @@ -198,7 +198,7 @@ export const rewriteModelsResourcesUrls = (activity: Activity) => { return activity; } - walkActivity(activity, (s) => { + walkObject(activity, (s) => { return s .replace(/https?:\/\/models-resources\.concord\.org/, "models-resources") .replace(/https?:\/\/models-resources\.s3\.amazonaws\.com/, "models-resources") @@ -208,14 +208,40 @@ export const rewriteModelsResourcesUrls = (activity: Activity) => { return activity; }; -export const getAllUrlsInActivity = (activity: Activity, urls: string[] = []) => { - walkActivity(activity, (s) => { - if (/^(\s*https?:\/\/|models-resources)/.test(s)) { - urls.push(s); +export const isExternalOrModelsResourcesUrl = (url: string) => /^(\s*https?:\/\/|models-resources)/.test(url); + +export const removeDuplicateUrls = (urls: string[]) => urls.filter((url, index) => urls.indexOf(url) === index); + +export const getAllUrlsInActivity = async (activity: Activity, urls: string[] = []) => { + const addExternalUrls = (object: any) => { + walkObject(object, (s) => { + if (isExternalOrModelsResourcesUrl(s)) { + urls.push(s); + } + return s; + }); + }; + + addExternalUrls(activity); + + // cache the glossary urls + const glossaryPlugin = activity.plugins.find(plugin => plugin.approved_script_label === "glossary"); + if (glossaryPlugin) { + try { + const authorData = JSON.parse(glossaryPlugin.author_data); + if (authorData?.s3Url) { + const response = await fetch(authorData.s3Url); + const glossaryJson = await response.json(); + addExternalUrls(glossaryJson); + } + } catch (e) { + // tslint:disable-next-line:no-console + console.error("Error caching glossary urls:", e); } - return s; - }); - return urls; + } + + // remove duplicate urls + return removeDuplicateUrls(urls); }; export const orderedQuestionsOnPage = (page:Page) => { From 17c79fddb8c62bd7b3a7e71723691487941b74f8 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 23 Mar 2021 14:40:37 -0400 Subject: [PATCH 119/242] Added glossary.json url to cached glossary urls --- src/utilities/activity-utils.test.ts | 9 +++++---- src/utilities/activity-utils.ts | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/utilities/activity-utils.test.ts b/src/utilities/activity-utils.test.ts index 1c252a8d..cc8e9ac1 100644 --- a/src/utilities/activity-utils.test.ts +++ b/src/utilities/activity-utils.test.ts @@ -167,8 +167,8 @@ describe("Activity utility functions", () => { { word: "test", definition: "this is a test", - image: "https://token-service-files.s3.amazonaws.com/glossary-plugin/ZWjh4IciSnBkWfu4gODs/5cacbe00-1c44-11ea-90e3-39c0ba8d079c-sticky note.svg", - zoomImage: "https://token-service-files.s3.amazonaws.com/glossary-plugin/ZWjh4IciSnBkWfu4gODs/5d298f20-1c44-11ea-90e3-39c0ba8d079c-IMG_8603.jpeg" + image: "https://token-service-files.s3.amazonaws.com/glossary-plugin/ISnn8j8r2veEFjPCx3XH/5cacbe00-1c44-11ea-90e3-39c0ba8d079c-sticky note.svg", + zoomImage: "https://token-service-files.s3.amazonaws.com/glossary-plugin/ISnn8j8r2veEFjPCx3XH/5d298f20-1c44-11ea-90e3-39c0ba8d079c-IMG_8603.jpeg" } ] })); @@ -181,8 +181,9 @@ describe("Activity utility functions", () => { "https://example.com/manifest.json", "https://glossary-plugin.concord.org/plugin.js", "https://glossary-plugin.concord.org/manifest.json", - "https://token-service-files.s3.amazonaws.com/glossary-plugin/ZWjh4IciSnBkWfu4gODs/5cacbe00-1c44-11ea-90e3-39c0ba8d079c-sticky note.svg", - "https://token-service-files.s3.amazonaws.com/glossary-plugin/ZWjh4IciSnBkWfu4gODs/5d298f20-1c44-11ea-90e3-39c0ba8d079c-IMG_8603.jpeg" + "https://token-service-files.s3.amazonaws.com/glossary-plugin/ISnn8j8r2veEFjPCx3XH/glossary.json", + "https://token-service-files.s3.amazonaws.com/glossary-plugin/ISnn8j8r2veEFjPCx3XH/5cacbe00-1c44-11ea-90e3-39c0ba8d079c-sticky note.svg", + "https://token-service-files.s3.amazonaws.com/glossary-plugin/ISnn8j8r2veEFjPCx3XH/5d298f20-1c44-11ea-90e3-39c0ba8d079c-IMG_8603.jpeg" ]); }); }); diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index 58dcf95a..6d085244 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -232,6 +232,7 @@ export const getAllUrlsInActivity = async (activity: Activity, urls: string[] = if (authorData?.s3Url) { const response = await fetch(authorData.s3Url); const glossaryJson = await response.json(); + urls.push(authorData.s3Url); addExternalUrls(glossaryJson); } } catch (e) { From 57909293c77ebe838ee9fd322589fcf717bd6cda Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 23 Mar 2021 15:51:04 -0400 Subject: [PATCH 120/242] Remove "Import Work From File" button We are worried kids are going to click this button without knowing what it does, and possibly loose data. We are going to remove it for now, possibly bring it back someplace less tempting in the future. [#177461457] Story: https://www.pivotaltracker.com/n/projects/2441249/stories/177461457 --- .../activity-introduction/introduction-page-content.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/activity-introduction/introduction-page-content.tsx b/src/components/activity-introduction/introduction-page-content.tsx index a187ddef..e5cea2cc 100644 --- a/src/components/activity-introduction/introduction-page-content.tsx +++ b/src/components/activity-introduction/introduction-page-content.tsx @@ -15,7 +15,6 @@ export const IntroductionPageContent: React.FC = (props) => { const { activity, onPageChange } = props; return (
    -
    Date: Tue, 23 Mar 2021 17:25:06 -0400 Subject: [PATCH 121/242] switch to cors requests when loading offline manifest doing this exposed an issue with the existing code. There are two css files referenced by index.html that are referenced before we start installing the offline manifest these references were breaking the cache. my solution is to add them to the pre-cache so they are available before the index.html request even happens (when the page is controlled). This also adds the rangerequest plugin which is needed to support videos. And it removes a broken url from production pc manifest. I think part of this is that by using cors we are see any download errors. With no-cors those download errors are cached as if they succeeded so we never knew they failed --- package.json | 1 + src/components/app.tsx | 4 ++++ src/offline-manifest-api.ts | 2 +- .../precipitating-change-v1.json | 1 - src/service-worker.ts | 21 ++++++++++++++++--- 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index b53638f0..55428a19 100644 --- a/package.json +++ b/package.json @@ -173,6 +173,7 @@ "superagent": "^6.1.0", "workbox-precaching": "^6.0.2", "workbox-webpack-plugin": "^6.0.2", + "workbox-range-requests": "^6.0.2", "workbox-window": "^6.0.2" } } diff --git a/src/components/app.tsx b/src/components/app.tsx index dd1d10b4..bb5b12db 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -206,6 +206,10 @@ export class App extends React.PureComponent { case "GET_REQUEST": if (offlineManifestAuthoringId) { this.setState((prevState) => { + // TODO: we only allow cors requests, so it would be helpful to authors + // if we checked whether the url can be requested with cors and if not + // we notify the author about the invalid url + // make sure all models-resources requests use the base folder const url = event.data.url.replace(/.*models-resources\//, "models-resources/"); let {offlineManifestAuthoringCacheList} = prevState; diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index 4ecaa2aa..6f093f19 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -45,7 +45,7 @@ export const cacheOfflineManifest = (options: CacheOfflineManifestOptions) => { const {offlineManifest, onCachingStarted, onUrlCached, onUrlCacheFailed, onAllUrlsCached, onAllUrlsCacheFailed} = options; const urls = offlineManifest.activities.map(a => a.contentUrl).concat(offlineManifest.cacheList); const loadingPromises = urls.map(url => { - return fetch(url, {mode: "no-cors"}) + return fetch(url, {mode: "cors"}) .then(() => onUrlCached(url)) .catch(err => onUrlCacheFailed(url, err)); }); diff --git a/src/public/offline-manifests/precipitating-change-v1.json b/src/public/offline-manifests/precipitating-change-v1.json index e4b22e2f..06f743f9 100644 --- a/src/public/offline-manifests/precipitating-change-v1.json +++ b/src/public/offline-manifests/precipitating-change-v1.json @@ -200,7 +200,6 @@ "models-resources/precip-models/ak-w-cities.png", "models-resources/precip-models/lesson-4-ak-v3.html", "models-resources/precip-models/precip-rule-ak-v5.html", - "models-resources/question-interactives/version/v0.6.1/image", "models-resources/question-interactives/version/v1.1.0/carousel/", "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.css", "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.js", diff --git a/src/service-worker.ts b/src/service-worker.ts index 044a5a83..50f7b691 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -4,6 +4,7 @@ import { precacheAndRoute } from "workbox-precaching"; import { registerRoute } from "workbox-routing"; import { StaleWhileRevalidate } from "workbox-strategies"; import { CacheableResponsePlugin } from "workbox-cacheable-response"; +import { RangeRequestsPlugin } from "workbox-range-requests"; const ignoredGets: RegExp[] = [ /\/sockjs-node\/info/, // webpack-dev-server @@ -12,9 +13,21 @@ const ignoredGets: RegExp[] = [ ]; // InjectManifest will add in the precache manifest here: -precacheAndRoute((self as any).__WB_MANIFEST, { - // Ignore all URL parameters (such as runKey on index.html) - ignoreURLParametersMatching: [/.*/] +const precacheEntries = [ + // Add URLs that are referenced directly in index.html + {url: "https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", revision: null}, + {url: "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", revision: null}, + ].concat((self as any).__WB_MANIFEST); + +precacheAndRoute(precacheEntries, { + // Ignore most URL parameters. We want to ignore the runKey on index.html + // as well as other paramters on index.html + // The exception are the params needed by the lato request above + // This approach of not ignoring family and dispaly is hacking. + // It'd be better if we just ignored all params on index.html and let other + // params go through. We are about to change this precaching code, so it + // it doesn't seem worth the effort to find a better way + ignoreURLParametersMatching: [/(?!(family|display))/] }); // Cache all get requests @@ -39,6 +52,8 @@ registerRoute( new CacheableResponsePlugin({ statuses: [0, 200], }), + // handle range requests + new RangeRequestsPlugin(), ], }), ); From c133d1849d1fb25b474f6c6f1ff86800b30092a2 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 23 Mar 2021 19:44:48 -0400 Subject: [PATCH 122/242] Apply suggestions from code review fix spelling mistakes Co-authored-by: Kirk Swenson --- src/service-worker.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/service-worker.ts b/src/service-worker.ts index 50f7b691..fea2d7bc 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -21,12 +21,12 @@ const precacheEntries = [ precacheAndRoute(precacheEntries, { // Ignore most URL parameters. We want to ignore the runKey on index.html - // as well as other paramters on index.html + // as well as other parameters on index.html // The exception are the params needed by the lato request above - // This approach of not ignoring family and dispaly is hacking. + // This approach of not ignoring family and display is hacking. // It'd be better if we just ignored all params on index.html and let other // params go through. We are about to change this precaching code, so it - // it doesn't seem worth the effort to find a better way + // doesn't seem worth the effort to find a better way ignoreURLParametersMatching: [/(?!(family|display))/] }); From 02859c613cc6f7666ca7ad0f1eca6f5dcebaa5e6 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 24 Mar 2021 06:18:25 -0400 Subject: [PATCH 123/242] Search in author_data when looking for external urls to cache [#177449302] --- src/data/sample-activity-glossary-plugin.json | 2 +- src/utilities/activity-utils.test.ts | 3 ++- src/utilities/activity-utils.ts | 14 ++++++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/data/sample-activity-glossary-plugin.json b/src/data/sample-activity-glossary-plugin.json index 761ee180..3e5fa2d7 100644 --- a/src/data/sample-activity-glossary-plugin.json +++ b/src/data/sample-activity-glossary-plugin.json @@ -127,7 +127,7 @@ "embeddable": { "plugin": { "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This is test content\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"none\",\"mediaURL\":\"\"}}", + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This is test content\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"none\",\"mediaURL\":\"https://example.com/fake.mp4\"}}", "approved_script_label": "teacherEditionTips", "component_label": "windowShade", "approved_script": { diff --git a/src/utilities/activity-utils.test.ts b/src/utilities/activity-utils.test.ts index cc8e9ac1..0ca4e136 100644 --- a/src/utilities/activity-utils.test.ts +++ b/src/utilities/activity-utils.test.ts @@ -177,11 +177,12 @@ describe("Activity utility functions", () => { urls = await getAllUrlsInActivity(glossaryActivity); expect(urls).toEqual([ "https://models-resources.concord.org/question-interactives/branch/master/open-response/", + "https://example.com/fake.mp4", "https://teacher-edition-tips-plugin.concord.org/version/v3.5.6/plugin.js", "https://example.com/manifest.json", + "https://token-service-files.s3.amazonaws.com/glossary-plugin/ISnn8j8r2veEFjPCx3XH/glossary.json", "https://glossary-plugin.concord.org/plugin.js", "https://glossary-plugin.concord.org/manifest.json", - "https://token-service-files.s3.amazonaws.com/glossary-plugin/ISnn8j8r2veEFjPCx3XH/glossary.json", "https://token-service-files.s3.amazonaws.com/glossary-plugin/ISnn8j8r2veEFjPCx3XH/5cacbe00-1c44-11ea-90e3-39c0ba8d079c-sticky note.svg", "https://token-service-files.s3.amazonaws.com/glossary-plugin/ISnn8j8r2veEFjPCx3XH/5d298f20-1c44-11ea-90e3-39c0ba8d079c-IMG_8603.jpeg" ]); diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index 6d085244..c0454223 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -168,7 +168,7 @@ export const getPagePositionFromQueryValue = (activity: Activity, pageQueryValue return Math.max(0, Math.min((parseInt(pageQueryValue, 10) || 0), activity.pages.length)); }; -export const walkObject = (activityNode: any, stringCallback: (s: string) => string) => { +export const walkObject = (activityNode: any, stringCallback: (s: string, key?: string) => string) => { if (!activityNode) { return; } @@ -180,7 +180,7 @@ export const walkObject = (activityNode: any, stringCallback: (s: string) => str Object.keys(activityNode).forEach(key => { switch (typeof activityNode[key]) { case "string": - activityNode[key] = stringCallback(activityNode[key]); + activityNode[key] = stringCallback(activityNode[key], key); break; case "object": walkObject(activityNode[key], stringCallback); @@ -214,10 +214,17 @@ export const removeDuplicateUrls = (urls: string[]) => urls.filter((url, index) export const getAllUrlsInActivity = async (activity: Activity, urls: string[] = []) => { const addExternalUrls = (object: any) => { - walkObject(object, (s) => { + walkObject(object, (s, key) => { if (isExternalOrModelsResourcesUrl(s)) { urls.push(s); } + // add all external urls in the stringified author data json + if (key === "author_data") { + try { + const authorData = JSON.parse(s); + addExternalUrls(authorData); + } catch (e) {} // eslint-disable-line no-empty + } return s; }); }; @@ -232,7 +239,6 @@ export const getAllUrlsInActivity = async (activity: Activity, urls: string[] = if (authorData?.s3Url) { const response = await fetch(authorData.s3Url); const glossaryJson = await response.json(); - urls.push(authorData.s3Url); addExternalUrls(glossaryJson); } } catch (e) { From 77de80432bd91ef9cfd4035710592e9e1f7f0cc4 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 24 Mar 2021 06:26:17 -0400 Subject: [PATCH 124/242] Removed class column from offline home page [#177468831] --- src/components/offline-activities.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/offline-activities.tsx b/src/components/offline-activities.tsx index d1d76913..7c57444c 100644 --- a/src/components/offline-activities.tsx +++ b/src/components/offline-activities.tsx @@ -10,7 +10,10 @@ const OfflineActivityListRow = (props: {activity: OfflineActivity}) => { const displayName = manifestName.length > 0 ? `${manifestName}: ${name}` : name; return ( - TDB + { + // Add class column back at a later date + // TDB + } {displayName} @@ -54,7 +57,10 @@ export class OfflineActivities extends React.Component { - + { + // Add class column back at a later date + // + } From 7e96d3abe72ed0e80b680959a55b373c3b086e9b Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 24 Mar 2021 07:04:40 -0400 Subject: [PATCH 125/242] Remove red bar when running in offline-mode branch [#177458105] NOTE: this adds the offline-mode branch as a production url --- src/portal-api.ts | 9 ++------ src/utilities/host-utils.test.ts | 37 ++++++++++++++++++++++++-------- src/utilities/host-utils.ts | 8 +++++-- src/utilities/report-utils.ts | 10 ++------- 4 files changed, 38 insertions(+), 26 deletions(-) diff --git a/src/portal-api.ts b/src/portal-api.ts index 6bb0961d..57512c34 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -3,7 +3,7 @@ import superagent from "superagent"; import { v4 as uuidv4 } from "uuid"; import { queryValue, queryValueBoolean, setQueryValue } from "./utilities/url-query"; import { getResourceUrl } from "./lara-api"; -import { getCanonicalHostname, getHostnameWithMaybePort, isProductionOrigin } from "./utilities/host-utils"; +import { getCanonicalHostname, getHostnameWithMaybePort, isProduction } from "./utilities/host-utils"; import { FirebaseAppName } from "./storage/firebase-db"; interface PortalClassOffering { @@ -233,12 +233,7 @@ export const firebaseAppName = ():FirebaseAppName => { return _firebaseAppName; } - const { origin, pathname } = window.location; - // According to the spec an empty path like https://activity-player.concord.org - // will still have a pathname of "/", but just to be safe this checks for the - // falsey pathname - if(isProductionOrigin(origin) && - (!pathname || pathname === "/")) { + if (isProduction(window.location)) { _firebaseAppName = "report-service-pro"; } else { _firebaseAppName = "report-service-dev"; diff --git a/src/utilities/host-utils.test.ts b/src/utilities/host-utils.test.ts index 73215829..a620365d 100644 --- a/src/utilities/host-utils.test.ts +++ b/src/utilities/host-utils.test.ts @@ -1,4 +1,4 @@ -import { getCanonicalHostname, getHostnameWithMaybePort, isOfflineHost, isProductionOrigin } from "./host-utils"; +import { getCanonicalHostname, getHostnameWithMaybePort, isOfflineHost, isProduction } from "./host-utils"; describe("isOfflineHost", () => { it("determines offline mode via the window host value", () => { @@ -48,13 +48,32 @@ describe("getHostnameWithMaybePort", () => { }); }); -describe("isProductionOrigin", () => { - it("determines the production origin", () => { - expect(isProductionOrigin("https://example.com")).toBe(false); - expect(isProductionOrigin("https://localhost:11000")).toBe(false); - expect(isProductionOrigin("https://activity-player.example.com")).toBe(false); - expect(isProductionOrigin("https://activity-player-offline.example.com")).toBe(false); - expect(isProductionOrigin("https://activity-player.concord.org")).toBe(true); - expect(isProductionOrigin("https://activity-player-offline.concord.org")).toBe(true); +describe("isProduction", () => { + it("determines the production location", () => { + expect(isProduction({origin: "https://example.com", pathname: "/"})).toBe(false); + expect(isProduction({origin: "https://localhost:11000", pathname: "/"})).toBe(false); + expect(isProduction({origin: "https://activity-player.example.com", pathname: "/"})).toBe(false); + expect(isProduction({origin: "https://activity-player-offline.example.com", pathname: "/"})).toBe(false); + + expect(isProduction({origin: "https://activity-player.concord.org", pathname: ""})).toBe(true); + expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: ""})).toBe(true); + + expect(isProduction({origin: "https://activity-player.concord.org", pathname: "/"})).toBe(true); + expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: "/"})).toBe(true); + + expect(isProduction({origin: "https://activity-player.concord.org", pathname: "/index.html"})).toBe(true); + expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: "/index.html"})).toBe(true); + + expect(isProduction({origin: "https://activity-player.concord.org", pathname: "/version/1.0.0/"})).toBe(true); + expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: "/version/1.0.0/"})).toBe(true); + + expect(isProduction({origin: "https://activity-player.concord.org", pathname: "/branch/offline-mode/"})).toBe(true); + expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: "/branch/offline-mode/"})).toBe(true); + + expect(isProduction({origin: "https://activity-player.concord.org", pathname: "/foo/"})).toBe(false); + expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: "/foo/"})).toBe(false); + + expect(isProduction({origin: "https://activity-player.concord.org", pathname: "/branch/foo/"})).toBe(false); + expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: "/branch/foo/"})).toBe(false); }); }); diff --git a/src/utilities/host-utils.ts b/src/utilities/host-utils.ts index e6808563..7ee9504c 100644 --- a/src/utilities/host-utils.ts +++ b/src/utilities/host-utils.ts @@ -9,6 +9,10 @@ export const getCanonicalHostname = () => { export const getHostnameWithMaybePort = () => window.location.host; -export const isProductionOrigin = (origin: string) => { - return origin === "https://activity-player.concord.org" || origin === "https://activity-player-offline.concord.org"; +export const isProduction = (location: {origin: string, pathname: string}) => { + const {origin, pathname} = location; + const isProductionOrigin = origin === "https://activity-player.concord.org" || origin === "https://activity-player-offline.concord.org"; + const isRootOrVersion = !pathname || pathname === "/" || pathname === "/index.html" || /^\/version\//.test(pathname); + const isOfflineMode = /^\/branch\/offline-mode\//.test(pathname); + return isProductionOrigin && (isRootOrVersion || isOfflineMode); }; diff --git a/src/utilities/report-utils.ts b/src/utilities/report-utils.ts index fe8663b9..3692c4da 100644 --- a/src/utilities/report-utils.ts +++ b/src/utilities/report-utils.ts @@ -2,7 +2,7 @@ import { queryValue } from "../utilities/url-query"; import { getStorage } from "../storage/storage-facade"; import { IPortalData, firebaseAppName } from "../portal-api"; import { getResourceUrl } from "../lara-api"; -import { getCanonicalHostname, isProductionOrigin } from "./host-utils"; +import { getCanonicalHostname, isProduction } from "./host-utils"; export const kProductionPortalReportUrl = "https://portal-report.concord.org/version/v4.1.0/index.html"; export const kDevPortalReportUrl = "https://portal-report.concord.org/branch/master/index.html"; @@ -19,13 +19,7 @@ export const portalReportBaseUrl= ():string => { return portalReportUrlParam; } - const { origin, pathname } = window.location; - // According to the spec an empty path like https://activity-player.concord.org - // will still have a pathname of "/", but just to be safe this checks for the - // falsey pathname - if(isProductionOrigin(origin) && - (!pathname || pathname === "/" - || pathname.indexOf("/version/") === 0)) { + if (isProduction(window.location)) { return kProductionPortalReportUrl; } else { return kDevPortalReportUrl; From 1396cd8b1f3444d2bdd1d8438b3753a1efb25f60 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 24 Mar 2021 07:33:24 -0400 Subject: [PATCH 126/242] Don't add runKey query param in offline mode [#177374559] --- src/components/app.tsx | 4 ++-- src/portal-api.ts | 6 ++++-- src/utilities/host-utils.test.ts | 22 ++++++++++++++++++---- src/utilities/host-utils.ts | 5 ++++- 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 37084336..5b7352c4 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -40,7 +40,7 @@ import { OfflineManifestAuthoringNav } from "./offline-manifest-authoring-nav"; import { StudentInfo } from "../student-info"; import { StudentInfoModal } from "./student-info-modal"; import { isNetworkConnected, monitorNetworkConnection } from "../utilities/network-connection"; -import { getHostnameWithMaybePort, isOfflineHost } from "../utilities/host-utils"; +import { isOfflineHost } from "../utilities/host-utils"; import "./app.scss"; @@ -102,7 +102,7 @@ export class App extends React.PureComponent { public constructor(props: IProps) { super(props); - const offlineMode = isOfflineHost(getHostnameWithMaybePort()); + const offlineMode = isOfflineHost(); if (offlineMode) { // set the offline manifest authoring localstorage item if it exists in the params and then read from localstorage diff --git a/src/portal-api.ts b/src/portal-api.ts index 6bb0961d..75600c9b 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -3,7 +3,7 @@ import superagent from "superagent"; import { v4 as uuidv4 } from "uuid"; import { queryValue, queryValueBoolean, setQueryValue } from "./utilities/url-query"; import { getResourceUrl } from "./lara-api"; -import { getCanonicalHostname, getHostnameWithMaybePort, isProductionOrigin } from "./utilities/host-utils"; +import { getCanonicalHostname, getHostnameWithMaybePort, isOfflineHost, isProductionOrigin } from "./utilities/host-utils"; import { FirebaseAppName } from "./storage/firebase-db"; interface PortalClassOffering { @@ -466,7 +466,9 @@ export const anonymousPortalData = (preview: boolean) => { runKey = queryValue("runKey"); if (!runKey) { runKey = uuidv4(); - setQueryValue("runKey", runKey); + if (!isOfflineHost()) { + setQueryValue("runKey", runKey); + } } } diff --git a/src/utilities/host-utils.test.ts b/src/utilities/host-utils.test.ts index 73215829..f8ee1973 100644 --- a/src/utilities/host-utils.test.ts +++ b/src/utilities/host-utils.test.ts @@ -1,11 +1,25 @@ import { getCanonicalHostname, getHostnameWithMaybePort, isOfflineHost, isProductionOrigin } from "./host-utils"; describe("isOfflineHost", () => { + const { location } = window; + it("determines offline mode via the window host value", () => { - expect(isOfflineHost("localhost:11000")).toBe(false); - expect(isOfflineHost("activity-player.concord.org")).toBe(false); - expect(isOfflineHost("localhost:11002")).toBe(true); - expect(isOfflineHost("activity-player-offline.concord.org")).toBe(true); + delete (window as any).location; + + const mockLocation = {host: ""}; + (window as any).location = mockLocation; + + mockLocation.host = "localhost:11000"; + expect(isOfflineHost()).toBe(false); + + mockLocation.host = "activity-player.concord.org"; + expect(isOfflineHost()).toBe(false); + + mockLocation.host = "localhost:11002"; + expect(isOfflineHost()).toBe(true); + + mockLocation.host = "activity-player-offline.concord.org"; + expect(isOfflineHost()).toBe(true); }); }); diff --git a/src/utilities/host-utils.ts b/src/utilities/host-utils.ts index e6808563..0f4e9b0e 100644 --- a/src/utilities/host-utils.ts +++ b/src/utilities/host-utils.ts @@ -1,4 +1,7 @@ -export const isOfflineHost = (host: string) => (host === "localhost:11002") || (host === "activity-player-offline.concord.org"); +export const isOfflineHost = () => { + const host = getHostnameWithMaybePort(); + return (host === "localhost:11002") || (host === "activity-player-offline.concord.org"); +}; export const getCanonicalHostname = () => { if(window.location.hostname === "activity-player-offline.concord.org") { From 0a94a716032cf184c3d2f9ba68a9e25df910a223 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 24 Mar 2021 08:26:11 -0400 Subject: [PATCH 127/242] Add service worker version to the bottom of the page [#177458051] --- package-lock.json | 67 ++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + src/components/app.tsx | 23 +++++++++++++-- src/service-worker.ts | 7 +++++ webpack.config.js | 9 ++++++ 5 files changed, 105 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1e3e842e..cdd96db7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21293,6 +21293,73 @@ } } }, + "string-replace-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-replace-loader/-/string-replace-loader-3.0.1.tgz", + "integrity": "sha512-G6UD9HX1XaKXnWpKgNHPVc/pYYLtP8+UWfORY5n3GTLSUNUo2hU2ABBnC9B3hg7ATWVSIGTisiP8zGq1DlvTbg==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", diff --git a/package.json b/package.json index b53638f0..c8968a90 100644 --- a/package.json +++ b/package.json @@ -139,6 +139,7 @@ "sass-loader": "^10.0.2", "script-loader": "^0.7.2", "source-map-support": "^0.5.19", + "string-replace-loader": "^3.0.1", "style-loader": "^1.2.1", "ts-jest": "^26.3.0", "ts-loader": "^8.0.3", diff --git a/src/components/app.tsx b/src/components/app.tsx index 37084336..e383e439 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -89,6 +89,7 @@ interface IState { showOfflineManifestInstallConfirmation: boolean; showEditUserName: boolean; networkConnected: boolean; + serviceWorkerVersionInfo?: string; } interface IProps {} @@ -157,6 +158,8 @@ export class App extends React.PureComponent { const enableServiceWorker = this.state.offlineMode; if (enableServiceWorker && ("serviceWorker" in navigator)) { + this.setState({serviceWorkerVersionInfo: "Starting..."}); + const wb = new Workbox("service-worker.js"); // these are all events defined for workbox-window (https://developers.google.com/web/tools/workbox/modules/workbox-window) @@ -276,8 +279,17 @@ export class App extends React.PureComponent { this.setState({serviceWorkerStatus: regSW.state}); }); } - } + + console.log("Sending GET_VERSION_INFO to service worker..."); + this.setState({serviceWorkerVersionInfo: "Checking..."}); + wb.messageSW({type: "GET_VERSION_INFO"}) + .then(versionInfo => { + this.setState({serviceWorkerVersionInfo: versionInfo}); + }) + .catch(() => { + this.setState({serviceWorkerVersionInfo: "No response!"}); + }); }); } } @@ -392,6 +404,10 @@ export class App extends React.PureComponent { } render() { + const appVersionInfo = (window as any).__appVersionInfo; + const {serviceWorkerVersionInfo} = this.state; + const mismatchedVersions = appVersionInfo !== serviceWorkerVersionInfo; + const showOfflineNav = this.state.offlineMode && !!this.state.activity; return ( @@ -409,7 +425,10 @@ export class App extends React.PureComponent { { showOfflineNav && } { this.renderContent() } { this.state.showThemeButtons && } -
    {(window as any).__appVersionInfo || "(No Version Info)"}
    +
    + Application: {appVersionInfo || "No Version Info"} + {serviceWorkerVersionInfo && ` | Service Worker: ${serviceWorkerVersionInfo} ${mismatchedVersions ? "❌" : ""}`} +
    {this.setShowModal(false);}} diff --git a/src/service-worker.ts b/src/service-worker.ts index 044a5a83..5abddf32 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -1,5 +1,7 @@ declare const self: ServiceWorkerGlobalScope; +const versionInfo = "__SERVICE_WORKER_VERSION_INFO__"; // replaced by webpack using string-replace-loader + import { precacheAndRoute } from "workbox-precaching"; import { registerRoute } from "workbox-routing"; import { StaleWhileRevalidate } from "workbox-strategies"; @@ -50,6 +52,11 @@ addEventListener("message", (event) => { console.log("Calling skipWaiting() from service worker..."); self.skipWaiting(); break; + + case "GET_VERSION_INFO": + console.log("Got version info request"); + event.ports[0].postMessage(versionInfo); + break; } } }); diff --git a/webpack.config.js b/webpack.config.js index 527d2484..66dcf8e5 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -10,6 +10,7 @@ const {InjectManifest} = require('workbox-webpack-plugin'); const version = require("./package.json").version; const gitRevPlugin = new GitRevPlugin(); const appVersionInfo = `Version ${version} (${gitRevPlugin.hash()})`; +const serviceWorkerVersionInfo = appVersionInfo; // keep the same so we can check and show the result in the app footer module.exports = (env, argv) => { const devMode = argv.mode !== "production"; @@ -91,6 +92,14 @@ module.exports = (env, argv) => { } ] }, + { + test: /service-worker\.ts$/, + loader: 'string-replace-loader', + options: { + search: '__SERVICE_WORKER_VERSION_INFO__', + replace: serviceWorkerVersionInfo, + } + }, { test: /\.tsx?$/, loader: "ts-loader" From 22e93ee62e6c1cd19e9a69581f93d26b719108fc Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 24 Mar 2021 08:38:22 -0400 Subject: [PATCH 128/242] Added allowVersions options to isProduction helper --- src/portal-api.ts | 2 +- src/utilities/host-utils.test.ts | 7 +++++-- src/utilities/host-utils.ts | 8 +++++--- src/utilities/report-utils.ts | 2 +- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/portal-api.ts b/src/portal-api.ts index 57512c34..90774652 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -233,7 +233,7 @@ export const firebaseAppName = ():FirebaseAppName => { return _firebaseAppName; } - if (isProduction(window.location)) { + if (isProduction(window.location, {allowVersions: false})) { _firebaseAppName = "report-service-pro"; } else { _firebaseAppName = "report-service-dev"; diff --git a/src/utilities/host-utils.test.ts b/src/utilities/host-utils.test.ts index a620365d..05802960 100644 --- a/src/utilities/host-utils.test.ts +++ b/src/utilities/host-utils.test.ts @@ -64,8 +64,11 @@ describe("isProduction", () => { expect(isProduction({origin: "https://activity-player.concord.org", pathname: "/index.html"})).toBe(true); expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: "/index.html"})).toBe(true); - expect(isProduction({origin: "https://activity-player.concord.org", pathname: "/version/1.0.0/"})).toBe(true); - expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: "/version/1.0.0/"})).toBe(true); + expect(isProduction({origin: "https://activity-player.concord.org", pathname: "/version/1.0.0/"}, {allowVersions: true})).toBe(true); + expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: "/version/1.0.0/"}, {allowVersions: true})).toBe(true); + + expect(isProduction({origin: "https://activity-player.concord.org", pathname: "/version/1.0.0/"}, {allowVersions: false})).toBe(false); + expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: "/version/1.0.0/"}, {allowVersions: false})).toBe(false); expect(isProduction({origin: "https://activity-player.concord.org", pathname: "/branch/offline-mode/"})).toBe(true); expect(isProduction({origin: "https://activity-player-offline.concord.org", pathname: "/branch/offline-mode/"})).toBe(true); diff --git a/src/utilities/host-utils.ts b/src/utilities/host-utils.ts index 7ee9504c..ae974eea 100644 --- a/src/utilities/host-utils.ts +++ b/src/utilities/host-utils.ts @@ -9,10 +9,12 @@ export const getCanonicalHostname = () => { export const getHostnameWithMaybePort = () => window.location.host; -export const isProduction = (location: {origin: string, pathname: string}) => { +export const isProduction = (location: {origin: string, pathname: string}, options?: {allowVersions?: boolean}) => { const {origin, pathname} = location; + const {allowVersions} = options || {allowVersions: false}; const isProductionOrigin = origin === "https://activity-player.concord.org" || origin === "https://activity-player-offline.concord.org"; - const isRootOrVersion = !pathname || pathname === "/" || pathname === "/index.html" || /^\/version\//.test(pathname); + const isRoot = !pathname || pathname === "/" || pathname === "/index.html"; + const isVersion = /^\/version\//.test(pathname); const isOfflineMode = /^\/branch\/offline-mode\//.test(pathname); - return isProductionOrigin && (isRootOrVersion || isOfflineMode); + return isProductionOrigin && (isRoot || (isVersion && allowVersions) || isOfflineMode); }; diff --git a/src/utilities/report-utils.ts b/src/utilities/report-utils.ts index 3692c4da..ec72183e 100644 --- a/src/utilities/report-utils.ts +++ b/src/utilities/report-utils.ts @@ -19,7 +19,7 @@ export const portalReportBaseUrl= ():string => { return portalReportUrlParam; } - if (isProduction(window.location)) { + if (isProduction(window.location, {allowVersions: true})) { return kProductionPortalReportUrl; } else { return kDevPortalReportUrl; From 50b4d501411ffc7107cb7da882c1df16961af09b Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 24 Mar 2021 08:53:37 -0400 Subject: [PATCH 129/242] Use a constant runKey of "offline" in offline mode --- src/portal-api.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/portal-api.ts b/src/portal-api.ts index 75600c9b..7097c4fa 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -465,8 +465,11 @@ export const anonymousPortalData = (preview: boolean) => { } else { runKey = queryValue("runKey"); if (!runKey) { - runKey = uuidv4(); - if (!isOfflineHost()) { + if (isOfflineHost()) { + runKey = "offline"; + // don't update query string with run key in offline mode + } else { + runKey = uuidv4(); setQueryValue("runKey", runKey); } } From 23aaad2957a116b535a1764aaad48b11ca092300 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 24 Mar 2021 10:05:24 -0400 Subject: [PATCH 130/242] Removed red X for mismatched app and service worker versions in page footer --- src/components/app.tsx | 4 +--- webpack.config.js | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index e383e439..88f930fb 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -406,8 +406,6 @@ export class App extends React.PureComponent { render() { const appVersionInfo = (window as any).__appVersionInfo; const {serviceWorkerVersionInfo} = this.state; - const mismatchedVersions = appVersionInfo !== serviceWorkerVersionInfo; - const showOfflineNav = this.state.offlineMode && !!this.state.activity; return ( @@ -427,7 +425,7 @@ export class App extends React.PureComponent { { this.state.showThemeButtons && }
    Application: {appVersionInfo || "No Version Info"} - {serviceWorkerVersionInfo && ` | Service Worker: ${serviceWorkerVersionInfo} ${mismatchedVersions ? "❌" : ""}`} + {serviceWorkerVersionInfo && ` | Service Worker: ${serviceWorkerVersionInfo}`}
    { const devMode = argv.mode !== "production"; From 0bbd5114694abb21ba0b035ff3b84a8b52a5d8ea Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Wed, 24 Mar 2021 10:08:21 -0400 Subject: [PATCH 131/242] Hide "Show My Work" when we can't run a report. [#177461358] -- Hide "Show My Work" when we can't run a report PT Story: https://www.pivotaltracker.com/story/show/177461358 --- .../completion-page-content.tsx | 14 ++++++++++---- src/storage/storage-facade.ts | 12 +++++++++++- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/components/activity-completion/completion-page-content.tsx b/src/components/activity-completion/completion-page-content.tsx index aa9108c3..24f4998b 100644 --- a/src/components/activity-completion/completion-page-content.tsx +++ b/src/components/activity-completion/completion-page-content.tsx @@ -121,7 +121,7 @@ export const CompletionPageContent: React.FC = (props) => { } const exitContainerClass = showReportBackupOptions ? "exit-container with-backup-options" : "exit-container"; - + const showStudentReportButton = showStudentReport && getStorage().canProvideStudentReport(); return ( !answers ?
    @@ -165,10 +165,16 @@ export const CompletionPageContent: React.FC = (props) => {

    Summary of Work: {activityTitle}

    - {showStudentReport && } - {(!sequence || isLastActivityInSequence) && + { showStudentReportButton && + } + {(!sequence || isLastActivityInSequence) &&
    - or + { showStudentReportButton && or }
    } diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index c53d80ca..057de95d 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -108,11 +108,13 @@ export interface IStorageInterface { exportActivityToJSON: (activityId?: string) => Promise, importStudentAnswersFromJSONFile: (studentAnswers: string, filename: string) => boolean, canSyncData(): boolean, - syncData(): Promise + canProvideStudentReport(): boolean, + syncData(): Promise, } class FireStoreStorageProvider implements IStorageInterface { portalData: IPortalData|IAnonymousPortalData; + isPreview: boolean; onSaveTimeout(handler: () => void) { return FirebaseImp.onFirestoreSaveTimeout(handler); } @@ -123,6 +125,7 @@ class FireStoreStorageProvider implements IStorageInterface { async initializeDB (initializer: IDBInitializer) { const {preview, portalData} = initializer; + this.isPreview = preview; this.setPortalData(portalData); try { if(portalData.type === "authenticated") { @@ -191,6 +194,10 @@ class FireStoreStorageProvider implements IStorageInterface { canSyncData() { return false; } syncData() { return Promise.resolve(false); } + canProvideStudentReport() { + return !this.isPreview; + } + signOut() { FirebaseImp.signOut(); } @@ -482,6 +489,9 @@ class DexieStorageProvider implements IStorageInterface { return Promise.resolve(false); } + canProvideStudentReport() { + return this.canSyncData(); + } } let storageInstance: IStorageInterface; From 3f523680fd5a7e2470ce03d1d56e85fc898b31df Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Wed, 24 Mar 2021 14:23:24 -0400 Subject: [PATCH 132/242] Fix failing test, clean up console logging. [#177461358] -- Hide "Show My Work" when we can't run a report PT Story: https://www.pivotaltracker.com/story/show/177461358 --- .../activity-completion/completion-page-content.tsx | 4 +++- src/storage/data-sync-tracker.ts | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/activity-completion/completion-page-content.tsx b/src/components/activity-completion/completion-page-content.tsx index 24f4998b..191cfe1b 100644 --- a/src/components/activity-completion/completion-page-content.tsx +++ b/src/components/activity-completion/completion-page-content.tsx @@ -33,6 +33,7 @@ export const CompletionPageContent: React.FC = (props) => { onShowSequence } = props; const [answers, setAnswers] = useState(); + const [canProvideStudentReport, setCanProvideStudentReport] = useState(); const handleExit = () => { if (sequence) { @@ -85,6 +86,7 @@ export const CompletionPageContent: React.FC = (props) => { useEffect(() => { const storage = getStorage(); + setCanProvideStudentReport(storage.canProvideStudentReport()); storage.watchAllAnswers(answerMetas => { setAnswers(answerMetas); }); @@ -121,7 +123,7 @@ export const CompletionPageContent: React.FC = (props) => { } const exitContainerClass = showReportBackupOptions ? "exit-container with-backup-options" : "exit-container"; - const showStudentReportButton = showStudentReport && getStorage().canProvideStudentReport(); + const showStudentReportButton = showStudentReport && canProvideStudentReport; return ( !answers ?
    diff --git a/src/storage/data-sync-tracker.ts b/src/storage/data-sync-tracker.ts index bda04964..3f0a6d9f 100644 --- a/src/storage/data-sync-tracker.ts +++ b/src/storage/data-sync-tracker.ts @@ -79,7 +79,6 @@ export class DataSyncTracker { } receivedPluginStatus(status: IPluginSyncUpdate) { - console.log(">==== PLUGIN SYNC ==>", status); // We don't reset the timer if the status is fail or ok, which are terminal. if(status.status===("started" || "working")) { if(status.status === "started") { From 5e1e5b279957f13bb7681747bb5096e8dcdfa967 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Wed, 24 Mar 2021 14:33:19 -0400 Subject: [PATCH 133/242] try using no-store when loading cache this is attempting to fix this issue: [#177481513] I cannot duplicate it locally, so I'm not sure if this will fix it. Also I'm planning to change how the offline manifest is populated anyhow. So the next step might be to switch to new approach. --- src/offline-manifest-api.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index 6f093f19..7a57be76 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -45,7 +45,7 @@ export const cacheOfflineManifest = (options: CacheOfflineManifestOptions) => { const {offlineManifest, onCachingStarted, onUrlCached, onUrlCacheFailed, onAllUrlsCached, onAllUrlsCacheFailed} = options; const urls = offlineManifest.activities.map(a => a.contentUrl).concat(offlineManifest.cacheList); const loadingPromises = urls.map(url => { - return fetch(url, {mode: "cors"}) + return fetch(url, {mode: "cors", cache: "no-store"}) .then(() => onUrlCached(url)) .catch(err => onUrlCacheFailed(url, err)); }); From 5cab8f09f05790c2cc6e81a28ed3510b86c1586a Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Wed, 24 Mar 2021 14:43:24 -0400 Subject: [PATCH 134/242] Instead of remove button, disable and style it as per story. [#177461358] -- Hide "Show My Work" when we can't run a report PT Story: https://www.pivotaltracker.com/story/show/177461358 --- .../completion-page-content.scss | 7 ++++++ .../completion-page-content.tsx | 23 +++++++++++++------ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/components/activity-completion/completion-page-content.scss b/src/components/activity-completion/completion-page-content.scss index 350bd093..e8055051 100644 --- a/src/components/activity-completion/completion-page-content.scss +++ b/src/components/activity-completion/completion-page-content.scss @@ -84,6 +84,13 @@ fill: $cc-orange-dark1; margin-right: 5px; } + &.disabled { + cursor: default; + opacity: 0.4; + &:hover{ + background-color: $cc-orange-light1; + } + } } h1 { flex-basis: 100%; diff --git a/src/components/activity-completion/completion-page-content.tsx b/src/components/activity-completion/completion-page-content.tsx index 191cfe1b..1de0bc2d 100644 --- a/src/components/activity-completion/completion-page-content.tsx +++ b/src/components/activity-completion/completion-page-content.tsx @@ -167,13 +167,22 @@ export const CompletionPageContent: React.FC = (props) => {

    Summary of Work: {activityTitle}

    - { showStudentReportButton && - } + { showStudentReportButton + ? + + : + + } {(!sequence || isLastActivityInSequence) &&
    { showStudentReportButton && or } From 510876c0036accfd111a9ad60f572b88e75bb0d2 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Wed, 24 Mar 2021 15:35:59 -0400 Subject: [PATCH 135/242] But always show the "or" span. [#177461358] -- Hide "Show My Work" when we can't run a report PT Story: https://www.pivotaltracker.com/story/show/177461358 --- src/components/activity-completion/completion-page-content.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/activity-completion/completion-page-content.tsx b/src/components/activity-completion/completion-page-content.tsx index 1de0bc2d..dbd02569 100644 --- a/src/components/activity-completion/completion-page-content.tsx +++ b/src/components/activity-completion/completion-page-content.tsx @@ -185,7 +185,7 @@ export const CompletionPageContent: React.FC = (props) => { } {(!sequence || isLastActivityInSequence) &&
    - { showStudentReportButton && or } + or
    } From 073b9ef497858c07741c2e719354aeaf3fb19adb Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Thu, 25 Mar 2021 08:05:13 -0400 Subject: [PATCH 136/242] Added test glossary activity [#177479101] NOTE: for now this points at the unmerged glossary branch. We can use this activity to document how to update activities and manifests after we merge the glossary branch. --- .../offline-activities/glossary-test-v1.json | 85 +++++++++++++++++++ .../offline-manifests/glossary-test-v1.json | 17 ++++ 2 files changed, 102 insertions(+) create mode 100644 src/public/offline-activities/glossary-test-v1.json create mode 100644 src/public/offline-manifests/glossary-test-v1.json diff --git a/src/public/offline-activities/glossary-test-v1.json b/src/public/offline-activities/glossary-test-v1.json new file mode 100644 index 00000000..bc51f62a --- /dev/null +++ b/src/public/offline-activities/glossary-test-v1.json @@ -0,0 +1,85 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Simple AP with Glossary (master)", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": null, + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308544, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": null, + "position": 1, + "show_header": false, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    This is a test of the glossary

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "272828-Embeddable::Xhtml" + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 3, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"tbi7A3rcMmkdxZA4kHgW\",\"s3Url\":\"https://token-service-files.s3.amazonaws.com/glossary-plugin/tbi7A3rcMmkdxZA4kHgW/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary (test offline saves)", + "url": "https://glossary-plugin.concord.org/branch/176579659-add-offline-saves/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/branch/176579659-add-offline-saves/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-manifests/glossary-test-v1.json b/src/public/offline-manifests/glossary-test-v1.json new file mode 100644 index 00000000..a009fc1f --- /dev/null +++ b/src/public/offline-manifests/glossary-test-v1.json @@ -0,0 +1,17 @@ +{ + "name": "Glossary Test", + "activities": [ + { + "name": "Glossary Test", + "resourceUrl": "https://authoring.staging.concord.org/activities/20959", + "contentUrl": "offline-activities/glossary-test-v1.json" + } + ], + "cacheList": [ + "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ.woff2", + "https://token-service-files.s3.amazonaws.com/glossary-plugin/tbi7A3rcMmkdxZA4kHgW/glossary.json", + "models-resources/glossary-plugin/branch/176579659-add-offline-saves/manifest.json", + "models-resources/glossary-plugin/branch/176579659-add-offline-saves/plugin.js" + ] +} \ No newline at end of file From c0356586074d6e5981e0e8d42e80cb1a97eaf080 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Thu, 25 Mar 2021 08:52:18 -0400 Subject: [PATCH 137/242] Upload Log Data to LogManager [#177288011] --- src/components/app.tsx | 9 ++- src/lib/logger.ts | 83 +++++++++++++++++++++++++-- src/portal-api.test.ts | 12 +++- src/portal-api.ts | 12 +++- src/storage/data-sync-tracker.test.ts | 12 ++-- src/storage/data-sync-tracker.ts | 37 +++++++++--- src/storage/firebase-db.test.ts | 6 +- src/student-info.ts | 10 +++- src/utilities/host-utils.test.ts | 2 + 9 files changed, 158 insertions(+), 25 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index dc7c9bc4..38b6e55f 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -37,7 +37,7 @@ import { OfflineInstalling } from "./offline-installing"; import { OfflineActivities } from "./offline-activities"; import { OfflineNav } from "./offline-nav"; import { OfflineManifestAuthoringNav } from "./offline-manifest-authoring-nav"; -import { StudentInfo } from "../student-info"; +import { DEFAULT_STUDENT_LOGGING_USERNAME, DEFAULT_STUDENT_NAME, StudentInfo } from "../student-info"; import { StudentInfoModal } from "./student-info-modal"; import { isNetworkConnected, monitorNetworkConnection } from "../utilities/network-connection"; import { isOfflineHost } from "../utilities/host-utils"; @@ -70,6 +70,7 @@ interface IState { showThemeButtons?: boolean; showWarning: boolean; username: string; + loggingUsername: string; portalData?: IPortalData; sequence?: Sequence; showSequenceIntro?: boolean; @@ -119,7 +120,8 @@ export class App extends React.PureComponent { teacherEditionMode: false, showThemeButtons: false, showWarning: false, - username: "Anonymous", + username: DEFAULT_STUDENT_NAME, + loggingUsername: DEFAULT_STUDENT_LOGGING_USERNAME, showModal: false, modalLabel: "", incompleteQuestions: [], @@ -374,6 +376,7 @@ export class App extends React.PureComponent { const classHash = this.studentInfo.getClassHash(); const runRemoteEndpoint = this.studentInfo.getRunRemoteEndpoint(); newState.username = this.studentInfo.name; + newState.loggingUsername = this.studentInfo.loggingUsername; this.setState(newState as IState); this.LARA = initializeLara(); @@ -387,7 +390,7 @@ export class App extends React.PureComponent { Modal.setAppElement("#app"); - Logger.initializeLogger(this.LARA, newState.username || this.state.username, role, classHash, teacherEditionMode, sequencePath, 0, sequencePath ? undefined : activityPath, currentPage, runRemoteEndpoint, offlineMode); + Logger.initializeLogger(this.LARA, newState.loggingUsername || this.state.loggingUsername, role, classHash, teacherEditionMode, sequencePath, 0, sequencePath ? undefined : activityPath, currentPage, runRemoteEndpoint, offlineMode); // call this again now that the logger is available if (resourceUrl) { diff --git a/src/lib/logger.ts b/src/lib/logger.ts index 3e08a7fd..60d80d08 100644 --- a/src/lib/logger.ts +++ b/src/lib/logger.ts @@ -4,8 +4,11 @@ import { LaraGlobalType } from "../lara-plugin/index"; import { Role } from "../student-info"; import { dexieStorage } from "../storage/dexie-storage"; import { LogMessage } from "../types"; +import { isProduction } from "../utilities/host-utils"; -const logManagerUrl = "//cc-log-manager.herokuapp.com/api/logs"; +interface LogMessageWithId extends LogMessage { + id?: string; // has to optional to allow deletes +} export interface LogParams { event: string | LogEventName, @@ -31,7 +34,16 @@ export enum LogEventName { session_timeout } +export interface ILogSyncUpdate { + status: "started" | "working" | "failed" | "completed"; + message?: string; +} + +export type LogSyncUpdateCallback = (update: ILogSyncUpdate) => void; + export class Logger { + private logManagerUrl = "//cc-log-manager.herokuapp.com/api/logs"; + public static initializeLogger(LARA: LaraGlobalType, username: string, role: Role, @@ -86,6 +98,53 @@ export class Logger { } } + public static async syncOfflineLogs(updateCallback: LogSyncUpdateCallback) { + const instance = this._instance; + if (!instance) return; + + const heartbeat = (message: string) => updateCallback({status: "working", message}); + + updateCallback({status: "started"}); + + const {activity, classHash, username, runRemoteEndpoint} = instance; + if (activity) { + heartbeat("Querying logs..."); + const logs = await dexieStorage.logs.where("activity").equals(activity).toArray(); + + heartbeat(`Found ${logs.length} logs`); + + // we want to try to upload the logs in the order they are stored so this a + // hack to do iteration on awaits, see https://stackoverflow.com/a/49499491 + await logs.reduce(async (promise, log: LogMessageWithId) => { + await promise; + + // extract the dexie id but don't send it to the log manager + const id = log.id as string; + delete log.id; + + // update the log entry with the portal data + log = {...log, classHash, username, run_remote_endpoint: runRemoteEndpoint }; + + try { + heartbeat(`Uploading log #${id}`); + const logged = await instance.sendToLoggingServiceAndWaitForReply(log); + + if (logged) { + heartbeat(`Deleting log #${id}`); + + // delete the log entry + await dexieStorage.logs.where("id").equals(id).delete(); + } + } catch (e) { + // don't fail here + heartbeat(`Failed uploading log #${id}: ${e.toString()}`); + } + }, Promise.resolve()); + } + + updateCallback({status: "completed"}); + } + private static _instance?: Logger; public static get Instance() { @@ -131,6 +190,10 @@ export class Logger { this.activityPage = activityPage; this.runRemoteEndpoint = runRemoteEndpoint; this.offlineMode = offlineMode; + + this.logManagerUrl = isProduction(window.location) + ? "//cc-log-manager.herokuapp.com/api/logs" + : "//cc-log-manager-dev.herokuapp.com/api/logs"; } private createLogMessage( @@ -166,16 +229,28 @@ export class Logger { private sendToLoggingService(data: LogMessage) { if (DEBUG_LOGGER) { - console.log("Logger#sendToLoggingService sending", JSON.stringify(data), "to", logManagerUrl); + console.log("Logger#sendToLoggingService sending", JSON.stringify(data), "to", this.logManagerUrl); } const request = new XMLHttpRequest(); - request.open("POST", logManagerUrl, true); + request.open("POST", this.logManagerUrl, true); request.setRequestHeader("Content-Type", "application/json; charset=UTF-8"); request.send(JSON.stringify(data)); } + private async sendToLoggingServiceAndWaitForReply(data: LogMessage) { + let logged = false; + try { + const result = await fetch(this.logManagerUrl, { + method: "POST", + body: JSON.stringify(data), + headers: {"Content-Type": "application/json; charset=UTF-8"} + }); + logged = (result.status === 200) || (result.status === 201); + } catch (e) {} // eslint-disable-line no-empty + return logged; + } + private saveLogMessage(data: LogMessage) { dexieStorage.logs.put(data); } - } diff --git a/src/portal-api.test.ts b/src/portal-api.test.ts index 67bb18b5..b9bc70e7 100644 --- a/src/portal-api.test.ts +++ b/src/portal-api.test.ts @@ -1,4 +1,5 @@ -import { firebaseAppName, clearFirebaseAppName, getToolId } from "./portal-api"; +import { firebaseAppName, clearFirebaseAppName, getToolId, convertPortalUserIdToLoggingUsername } from "./portal-api"; +import { DEFAULT_STUDENT_LOGGING_USERNAME } from "./student-info"; describe("firebaseAppName", () => { @@ -69,3 +70,12 @@ describe("getToolId", () => { (window as any).location = location; }); }); + +describe("misc utils", () => { + + it("converts portal user ids to logging usernames", () => { + expect(convertPortalUserIdToLoggingUsername("http://example.com/users/1234")).toEqual("1234@example.com"); + expect(convertPortalUserIdToLoggingUsername("https://example.com/users/1234")).toEqual("1234@example.com"); + expect(convertPortalUserIdToLoggingUsername("invalid user id")).toEqual(DEFAULT_STUDENT_LOGGING_USERNAME); + }); +}); diff --git a/src/portal-api.ts b/src/portal-api.ts index 06807303..ea49b060 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -5,6 +5,7 @@ import { queryValue, queryValueBoolean, setQueryValue } from "./utilities/url-qu import { getResourceUrl } from "./lara-api"; import { getCanonicalHostname, getHostnameWithMaybePort, isOfflineHost, isProduction } from "./utilities/host-utils"; import { FirebaseAppName } from "./storage/firebase-db"; +import { DEFAULT_STUDENT_LOGGING_USERNAME } from "./student-info"; interface PortalClassOffering { className: string; @@ -95,6 +96,7 @@ export interface IPortalData extends ILTIPartial { portalJWT?: PortalJWT; runRemoteEndpoint: string; classInfo?: ClassInfo; + loggingUsername: string; } export interface IAnonymousPortalData { @@ -379,6 +381,11 @@ export const getOfferingData = (params: GetOfferingParams) => { }); }; +export const convertPortalUserIdToLoggingUsername = (userId: string) => { + const matches = userId.match(/https?:\/\/([^/]+)\/users\/(.+)/i); + return matches ? `${matches[2]}@${matches[1]}` : DEFAULT_STUDENT_LOGGING_USERNAME; +}; + interface IFetchPortalDataOpts { includeClassData: boolean } @@ -423,6 +430,8 @@ export const fetchPortalData = async (opts: IFetchPortalDataOpts = fetchPortalDa const fullName = classInfo.students.find(s => s.id.toString() === portalJWT.uid.toString())?.fullName; + const loggingUsername = convertPortalUserIdToLoggingUsername(portalJWT.user_id); + const rawPortalData: IPortalData = { type: "authenticated", offering: offeringData, @@ -445,7 +454,8 @@ export const fetchPortalData = async (opts: IFetchPortalDataOpts = fetchPortalDa sourceKey, rawFirebaseJWT, }, - runRemoteEndpoint: firebaseJWT.returnUrl + runRemoteEndpoint: firebaseJWT.returnUrl, + loggingUsername }; if(opts.includeClassData) { rawPortalData.classInfo = classInfo; } return rawPortalData; diff --git a/src/storage/data-sync-tracker.test.ts b/src/storage/data-sync-tracker.test.ts index 0c7c7763..430f965b 100644 --- a/src/storage/data-sync-tracker.test.ts +++ b/src/storage/data-sync-tracker.test.ts @@ -36,12 +36,12 @@ class FakePlugin { describe("DataSyncTracker", () => { it("When no plugins answer the call", ()=> { const mySyncTracker = new DataSyncTracker(2,1); - const pluginsDone =jest.spyOn(mySyncTracker,"pluginsDone"); + const syncDone =jest.spyOn(mySyncTracker,"syncDone"); const receivedPluginStatus = jest.spyOn(mySyncTracker, "receivedPluginStatus"); const syncTimeout = jest.spyOn(mySyncTracker,"syncTimeout"); return mySyncTracker.start().then(() => { - expect(pluginsDone).toBeCalledTimes(1); + expect(syncDone).toBeCalledTimes(1); expect(receivedPluginStatus).not.toHaveBeenCalled(); expect(syncTimeout).not.toHaveBeenCalled(); expect(mySyncTracker.pluginSuccesses).toEqual(0); @@ -74,12 +74,12 @@ describe("DataSyncTracker", () => { }); const mySyncTracker = new DataSyncTracker(100,1); mySyncTracker.addPromise(myPromise); - const pluginsDone =jest.spyOn(mySyncTracker,"pluginsDone"); + const syncDone =jest.spyOn(mySyncTracker,"syncDone"); const receivedPluginStatus = jest.spyOn(mySyncTracker, "receivedPluginStatus"); const syncTimeout = jest.spyOn(mySyncTracker,"syncTimeout"); return mySyncTracker.start().then(() => { - expect(pluginsDone).toBeCalledTimes(1); + expect(syncDone).toBeCalledTimes(1); expect(receivedPluginStatus).toBeCalledTimes(8); // 4 happy, 4 sad expect(syncTimeout).not.toHaveBeenCalled(); expect(mySyncTracker.pluginSuccesses).toEqual(2); @@ -105,12 +105,12 @@ describe("DataSyncTracker", () => { const mySyncTracker = new DataSyncTracker(10,1); // mySyncTracker.addPromise(myPromise); - const pluginsDone =jest.spyOn(mySyncTracker,"pluginsDone"); + const syncDone =jest.spyOn(mySyncTracker,"syncDone"); const receivedPluginStatus = jest.spyOn(mySyncTracker, "receivedPluginStatus"); const syncTimeout = jest.spyOn(mySyncTracker,"syncTimeout"); return mySyncTracker.start().then(() => { - expect(pluginsDone).toBeCalledTimes(1); + expect(syncDone).toBeCalledTimes(1); expect(syncTimeout).not.toHaveBeenCalled(); expect(receivedPluginStatus).toBeCalledTimes(3); // 1 slow, 2 sad expect(mySyncTracker.pluginSuccesses).toEqual(0); diff --git a/src/storage/data-sync-tracker.ts b/src/storage/data-sync-tracker.ts index 3f0a6d9f..b825378a 100644 --- a/src/storage/data-sync-tracker.ts +++ b/src/storage/data-sync-tracker.ts @@ -1,4 +1,5 @@ import { emitPluginSyncRequest, IPluginSyncUpdate } from "../lara-plugin/events"; +import { ILogSyncUpdate, Logger } from "../lib/logger"; const KDefaultSyncTimeoutSeconds = 60 * 60; // 1 hour save timeout const KDefaultPluginHeartbeatSeconds = 10; // 10 seconds before we give up @@ -16,6 +17,7 @@ export class DataSyncTracker { pluginDrops: number; pendingPromises: Array>; timeoutRef: number + logsSynced: boolean; constructor( syncTimeoutS: number = KDefaultSyncTimeoutSeconds, @@ -26,6 +28,9 @@ export class DataSyncTracker { this.pluginFailures = 0; this.pluginSuccesses = 0; this.pluginDrops = 0; + this.logsSynced = false; + + this.receivedLoggerStatus = this.receivedLoggerStatus.bind(this); } start() { @@ -41,8 +46,11 @@ export class DataSyncTracker { }); this.pendingPromises=[this.pluginPromise]; - this.registerPluginTimeOut(); + this.registerTimeOut(); this.registerSyncTimeOut(); + + Logger.syncOfflineLogs(this.receivedLoggerStatus); + return this.finish(); } @@ -54,17 +62,18 @@ export class DataSyncTracker { window.setTimeout(() => this.syncTimeout(), this.syncTimeoutS * 1000); } - registerPluginTimeOut() { + registerTimeOut() { if(this.timeoutRef) { window.clearTimeout(this.timeoutRef); } - this.timeoutRef = window.setTimeout(() => this.pluginsDone(), this.pluginTimeoutS * 1000); + this.timeoutRef = window.setTimeout(() => this.syncDone(), this.pluginTimeoutS * 1000); } syncTimeout() { this.promiseRejector("Sync operation TimeOut"); } - // We call this when we stop hearing from any plugins: - pluginsDone() { - // Resolve our internal plugin promise: + + // We call this when we stop hearing from any plugins and the logger: + syncDone() { + // Resolve our internal promise: this.promiseResolver(); } @@ -84,7 +93,7 @@ export class DataSyncTracker { if(status.status === "started") { this.pluginDrops++; } - this.registerPluginTimeOut(); + this.registerTimeOut(); } if(status.status === "completed") { this.pluginSuccesses++; @@ -95,4 +104,18 @@ export class DataSyncTracker { this.pluginDrops--; } } + + receivedLoggerStatus(status: ILogSyncUpdate) { + console.log(">==== LOGGER SYNC ==>", status); + // We don't reset the timer if the status is fail or ok, which are terminal. + if(status.status===("started" || "working")) { + this.registerTimeOut(); + } + if(status.status === "completed") { + this.logsSynced = true; + } + if(status.status === "failed") { + this.logsSynced = false; + } + } } diff --git a/src/storage/firebase-db.test.ts b/src/storage/firebase-db.test.ts index 0c2243d9..cdc522cb 100644 --- a/src/storage/firebase-db.test.ts +++ b/src/storage/firebase-db.test.ts @@ -88,7 +88,8 @@ describe("Firestore", () => { resourceUrl: "http://example/resource", toolId: "activity-player.concord.org", userType: "learner", - runRemoteEndpoint: "https://example.com/learner/1234" + runRemoteEndpoint: "https://example.com/learner/1234", + loggingUsername: "1@example.com" }); const embeddable = { @@ -250,7 +251,8 @@ describe("Firestore", () => { class_info_url: "http://example.com/4", offering_id: 8 }, - runRemoteEndpoint: "http://example.com/5" + runRemoteEndpoint: "http://example.com/5", + loggingUsername: "1@example.com" }); }); diff --git a/src/student-info.ts b/src/student-info.ts index 0757f718..26ffab91 100644 --- a/src/student-info.ts +++ b/src/student-info.ts @@ -1,7 +1,9 @@ import { fetchPortalData, IPortalData } from "./portal-api"; import { IStorageInterface } from "./storage/storage-facade"; -const DEFAULT_STUDENT_NAME = "Anonymous"; +export const DEFAULT_STUDENT_NAME = "Anonymous"; +export const DEFAULT_STUDENT_LOGGING_USERNAME = "0@anonymous"; + const DEFAULT_TEACHER_NAME = "A teacher"; const STUDENT_LOCAL_STORAGE_KEY = "ActivityPlayerStudent"; const DEFAULT_CLASS_HASH = ""; // From `app.tsx` 2021-02-25 @@ -35,6 +37,7 @@ type Run = IAnonymousRun | IPortalRun; interface IStudentRecord { name: string, + loggingUsername: string; role: Role, teacherName: string, platformUserId: string, @@ -45,6 +48,7 @@ interface IStudentRecord { export class StudentInfo implements IStudentRecord { name: string; + loggingUsername: string; teacherName: string; platformUserId: string; role: Role; @@ -65,6 +69,7 @@ export class StudentInfo implements IStudentRecord { private loadDefaults() { this.role = Role.student; this.name = DEFAULT_STUDENT_NAME; + this.loggingUsername = DEFAULT_STUDENT_LOGGING_USERNAME; this.teacherName = DEFAULT_TEACHER_NAME; this._validTokens = false; } @@ -150,6 +155,7 @@ export class StudentInfo implements IStudentRecord { private serializeData() { const data: IStudentRecord = { name: this.name, + loggingUsername: this.loggingUsername, role: this.role, teacherName: this.teacherName, platformUserId: this.platformUserId, @@ -161,6 +167,7 @@ export class StudentInfo implements IStudentRecord { private loadData(data: IStudentRecord ) { this.name = data.name ?? DEFAULT_STUDENT_NAME; + this.loggingUsername = data.loggingUsername ?? DEFAULT_STUDENT_LOGGING_USERNAME; this.teacherName = data.name ?? DEFAULT_TEACHER_NAME; this.platformUserId = data.platformUserId; this.runs = data.runs; @@ -176,6 +183,7 @@ export class StudentInfo implements IStudentRecord { // iat: 1614632137 this.rawPortalData = portalData; this.name = portalData.fullName ?? DEFAULT_STUDENT_NAME; + this.loggingUsername = portalData.loggingUsername ?? DEFAULT_STUDENT_LOGGING_USERNAME; this.teacherName = portalData?.classInfo?.teachers[0]?.fullName ?? DEFAULT_TEACHER_NAME; this.platformUserId = portalData.platformUserId; this._validTokens = true; diff --git a/src/utilities/host-utils.test.ts b/src/utilities/host-utils.test.ts index e22ea56c..08f54b3d 100644 --- a/src/utilities/host-utils.test.ts +++ b/src/utilities/host-utils.test.ts @@ -20,6 +20,8 @@ describe("isOfflineHost", () => { mockLocation.host = "activity-player-offline.concord.org"; expect(isOfflineHost()).toBe(true); + + (window as any).location = location; }); }); From a6808298989272099aaaebb347b9dd3980bedcf8 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Thu, 25 Mar 2021 13:25:44 -0400 Subject: [PATCH 138/242] Changed test glossary activity to use AK glossary [#177479101] --- .../offline-activities/glossary-test-v1.json | 4 +- .../offline-manifests/glossary-test-v1.json | 58 +++++++++++++++++-- 2 files changed, 56 insertions(+), 6 deletions(-) diff --git a/src/public/offline-activities/glossary-test-v1.json b/src/public/offline-activities/glossary-test-v1.json index bc51f62a..c931cf1d 100644 --- a/src/public/offline-activities/glossary-test-v1.json +++ b/src/public/offline-activities/glossary-test-v1.json @@ -33,7 +33,7 @@ "embeddables": [ { "embeddable": { - "content": "

    This is a test of the glossary

    ", + "content": "

    This is a test of some of the words in the AK glossary: precipitation, prediction, weather and air moisture.

    ", "is_callout": true, "is_full_width": false, "is_hidden": false, @@ -66,7 +66,7 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"tbi7A3rcMmkdxZA4kHgW\",\"s3Url\":\"https://token-service-files.s3.amazonaws.com/glossary-plugin/tbi7A3rcMmkdxZA4kHgW/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-manifests/glossary-test-v1.json b/src/public/offline-manifests/glossary-test-v1.json index a009fc1f..7d85ffbf 100644 --- a/src/public/offline-manifests/glossary-test-v1.json +++ b/src/public/offline-manifests/glossary-test-v1.json @@ -8,10 +8,60 @@ } ], "cacheList": [ - "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/air_moisture_fog-high.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/pattern-recognition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/precipitation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/weather.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/wind-direction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/exptrapolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/extrapolation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Diggiynetritiy_He_broke_it.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Atthabaskan/Vitotuq_between_middle.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/How_is_the_weather_Ngieghndadzdixeta.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/I_am_going_to_use_this_patttern_Gon%20ghoghoy_yigidighoy_axa_ditast%27e%C5%82.%20.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It%27s%20snowing_Iyoth.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It_snows_during_the_winter_Xiyhtuxiyoth.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Pattern_Ghoghoyyigidighoy.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_South_wind_is_starting_to_blow_Edodzxandithitriyh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_fog_is_thick_Getiyeqngichox.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/There_is_too_much_fog_Getiyeqxelanh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_Is_it_doing_outside_Ngieghndadzdixeta16.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_is_next_Ndadzchenh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Wind_is_coming_from_the_west_Dongthedzxidetriyh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/between_middle_Vitotuq.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/middle_Xivitotuq.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/AbstractionMovie.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/Aggregation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/PatternRecognition.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/WindDirection.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/moisture-amount.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/precipitation_snow.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/weather-movie.mp4", "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ.woff2", - "https://token-service-files.s3.amazonaws.com/glossary-plugin/tbi7A3rcMmkdxZA4kHgW/glossary.json", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXg.woff2", + "models-resources/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json", "models-resources/glossary-plugin/branch/176579659-add-offline-saves/manifest.json", - "models-resources/glossary-plugin/branch/176579659-add-offline-saves/plugin.js" - ] + "models-resources/glossary-plugin/branch/176579659-add-offline-saves/plugin.js", + "models-resources/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json" + ] } \ No newline at end of file From 03d9ca914ffad1f547e554d8f5c2e98b953a811c Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 25 Mar 2021 19:27:23 -0400 Subject: [PATCH 139/242] Fixes *part* of the problem we are having with compound interactive-questions Open this using the local activity simple-carousel.json for debugging: http://127.0.0.1:11000/?activity=offline-activities%2Fsimple-carousel.json (in online mode) to debug. You can also run local host against the LARA data: http://127.0.0.1:11000/?activity=https%3A%2F%2Fauthoring.staging.concord.org%2Fapi%2Fv1%2Factivities%2F20961.json&runKey=b86ebab8-cb7d-465e-86cc-1c30af625a47 Compare the above to how it runs using activity-player master: https://activity-player.concord.org/?activity=https%3A%2F%2Fauthoring.staging.concord.org%2Fapi%2Fv1%2Factivities%2F20961.json Because this works with the main branch of activity player, but does not work with the offline-mode version (while running without caches or web workers), I am guessing that part of the issue is how we rewriting the some of the authored resources in activity-utils.ts This Commit fixes *part* of the problem we are having with compound interactive-questions like the carousel. More work needs to be done, possibly in the interactive questions themselves, but more likely in the resource rewriting or proxying utilities in activity-player offline-mode branch. * The main problem was fixed by being less selective about how we choose which URLS to add using `addExternalUrls()` on lines 221-225 in `activity-utils.ts` * We still have a problem that when the authored content is loaded in development mode, references to interactive questions such as `/master/open-responses` in subinteractives` fail to load (at least in the development environment of the activity-player offline-mode branch). The error we see is: `Cannot GET /question-interactives/branch/master/open-response/` If we rewrite those URLS in the authored JSON (`offline-activities/simple-carousel.json`) we get futher. (See next commit where the JSON is modified by hand). * But we can still get the Carousel to fail by going to page two of the carousel, and then we see this error in the console which I haven't tracked down yet: ``` index.ef6640fdbaa59e7d870c.js:220 DOMException: Blocked a frame with origin "http://127.0.0.1:11000" from accessing a cross-origin frame. at http://127.0.0.1:11000/models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js:276:95489 at NodeList.forEach () at b (http://127.0.0.1:11000/models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js:276:95446) at Object.onChange (http://127.0.0.1:11000/models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js:276:94726) at p.handleOnChange (http://127.0.0.1:11000/models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js:276:104854) at p.selectItem (http://127.0.0.1:11000/models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js:276:107662) at p.moveTo (http://127.0.0.1:11000/models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js:276:107129) at p.value (http://127.0.0.1:11000/models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js:276:108789) at iu (http://127.0.0.1:11000/models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js:220:83469) at ps (http://127.0.0.1:11000/models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js:220:101244) ``` --- .../offline-activities/simple-carousel.json | 121 ++++++++++++++++++ .../offline-manifests/simple-carousel.json | 23 ++++ src/utilities/activity-utils.ts | 8 +- 3 files changed, 148 insertions(+), 4 deletions(-) create mode 100644 src/public/offline-activities/simple-carousel.json create mode 100644 src/public/offline-manifests/simple-carousel.json diff --git a/src/public/offline-activities/simple-carousel.json b/src/public/offline-activities/simple-carousel.json new file mode 100644 index 00000000..b6651645 --- /dev/null +++ b/src/public/offline-activities/simple-carousel.json @@ -0,0 +1,121 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Noahs test Carousel", + "notes": "", + "project_id": 2, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": null, + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308650, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    This is the carousel test

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Yay", + "type": "Embeddable::Xhtml", + "ref_id": "272942-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/branch/master/open-response\",\"authoredState\":{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What is your favorite color

    \"},\"id\":\"f47a5793-6028-40f8-8225-e821d3df2b2d\",\"navImageUrl\":\"\",\"navImageAltText\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/branch/master/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://models-resources.concord.org/logos/grasp-head-logo.png\",\"altText\":\"grasp logo\",\"caption\":\"grasp logo\"},\"id\":\"5f90c7c3-d9d1-4eca-8f9f-4798cc5fefe7\",\"navImageUrl\":\"\",\"navImageAltText\":\"\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "0389a9062aaab9afc5c21478d5cf85b468418842", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/branch/master/carousel/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Carousel Interactive (Master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1966-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308652, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": null, + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-manifests/simple-carousel.json b/src/public/offline-manifests/simple-carousel.json new file mode 100644 index 00000000..d459b843 --- /dev/null +++ b/src/public/offline-manifests/simple-carousel.json @@ -0,0 +1,23 @@ +{ + "name": "Untitled Offline Manifest", + "activities": [ + { + "name": "Noahs test Carousel", + "resourceUrl": "https://authoring.staging.concord.org/activities/20961", + "contentUrl": "offline-activities/simple-carousel.json" + } + ], + "cacheList": [ + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://models-resources.concord.org/logos/grasp-head-logo.png", + "https://models-resources.concord.org/question-interactives/branch/master/image", + "models-resources/question-interactives/branch/master/carousel/", + "models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js", + "models-resources/question-interactives/branch/master/open-response/", + "models-resources/question-interactives/branch/master/open-response/assets/index.5f534705902ba311d5fe.js" + ] +} \ No newline at end of file diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index c0454223..41ec77e6 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -218,11 +218,11 @@ export const getAllUrlsInActivity = async (activity: Activity, urls: string[] = if (isExternalOrModelsResourcesUrl(s)) { urls.push(s); } - // add all external urls in the stringified author data json - if (key === "author_data") { + else if(/^\s*\{/.test(s)) { + // try to parse value: try { - const authorData = JSON.parse(s); - addExternalUrls(authorData); + const jsonData = JSON.parse(s); + addExternalUrls(jsonData); } catch (e) {} // eslint-disable-line no-empty } return s; From 0748ba0a757c278b41e10fca9298420503792d36 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 25 Mar 2021 19:32:20 -0400 Subject: [PATCH 140/242] Manual rewrite of `simple-carousel.json` to use trailing slashes This commit manually rewrites the `authored_state` `subinteractives` URL for the `simple-carousel.json` sample activity. The changes add trailing slashes to the subinteractives. Note that the second page of the carousel fails for other reasons. With this commit, you should now be able to see the first open response question in the carousel interactive when you open it locally on the online port: http://127.0.0.1:11000/?activity=offline-activities%2Fsimple-carousel.json --- src/public/offline-activities/simple-carousel.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/public/offline-activities/simple-carousel.json b/src/public/offline-activities/simple-carousel.json index b6651645..5a0c1156 100644 --- a/src/public/offline-activities/simple-carousel.json +++ b/src/public/offline-activities/simple-carousel.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/branch/master/open-response\",\"authoredState\":{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What is your favorite color

    \"},\"id\":\"f47a5793-6028-40f8-8225-e821d3df2b2d\",\"navImageUrl\":\"\",\"navImageAltText\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/branch/master/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://models-resources.concord.org/logos/grasp-head-logo.png\",\"altText\":\"grasp logo\",\"caption\":\"grasp logo\"},\"id\":\"5f90c7c3-d9d1-4eca-8f9f-4798cc5fefe7\",\"navImageUrl\":\"\",\"navImageAltText\":\"\"}]}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/branch/master/open-response/\",\"authoredState\":{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What is your favorite color

    \"},\"id\":\"f47a5793-6028-40f8-8225-e821d3df2b2d\",\"navImageUrl\":\"\",\"navImageAltText\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/branch/master/image/\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://models-resources.concord.org/logos/grasp-head-logo.png\",\"altText\":\"grasp logo\",\"caption\":\"grasp logo\"},\"id\":\"5f90c7c3-d9d1-4eca-8f9f-4798cc5fefe7\",\"navImageUrl\":\"\",\"navImageAltText\":\"\"}]}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, From 7d1b92bc190b0a6c8b35d8435a9d8fb5f8135658 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Fri, 26 Mar 2021 17:40:04 -0400 Subject: [PATCH 141/242] WIP: prototype of new install flow The user needs to load install.html Then reload the page which triggers the installation of the application files in the cache. The user can then go offline and visit index.html and no extra requests should be made over the network. There are many thing do still. They are listed as tasks in the story currently: https://www.pivotaltracker.com/story/show/177164109 --- src/app-manifest.js | 1 + src/components/install-app.tsx | 108 +++++++++++++++++++++ src/install.html | 22 +++++ src/install.sass | 6 ++ src/install.tsx | 10 ++ src/service-worker.ts | 166 ++++++++++++++++++++++++++------- webpack.config.js | 142 +++++++++++++++++++++++++++- 7 files changed, 418 insertions(+), 37 deletions(-) create mode 100644 src/app-manifest.js create mode 100644 src/components/install-app.tsx create mode 100644 src/install.html create mode 100644 src/install.sass create mode 100644 src/install.tsx diff --git a/src/app-manifest.js b/src/app-manifest.js new file mode 100644 index 00000000..b1f74ba2 --- /dev/null +++ b/src/app-manifest.js @@ -0,0 +1 @@ +window.__wbManifest = self.__WB_MANIFEST; diff --git a/src/components/install-app.tsx b/src/components/install-app.tsx new file mode 100644 index 00000000..d43f24b2 --- /dev/null +++ b/src/components/install-app.tsx @@ -0,0 +1,108 @@ +import React from "react"; +import { isOfflineHost } from "../utilities/host-utils"; +import { Workbox } from "workbox-window/index"; +import { cacheOfflineManifest } from "../offline-manifest-api"; +import { OfflineManifest } from "../types"; +import queryString from "query-string"; + +interface IState { + serviceWorkerVersionInfo?: string; +} +interface IProps { +} + +export class InstallApp extends React.PureComponent { + private wb: Workbox; + + + public constructor(props: IProps) { + super(props); + + if (!isOfflineHost() || !("serviceWorker" in navigator)) { + // Don't setup workbox + this.state = {}; + return; + } + + this.state = { + serviceWorkerVersionInfo: "Starting..." + }; + + this.wb = new Workbox("service-worker.js"); + + this.wb.register().then((_registration) => { + console.log("Workbox register() promise resolved", _registration); + + console.log("Sending GET_VERSION_INFO to service worker..."); + this.setState({serviceWorkerVersionInfo: "Checking..."}); + this.wb.messageSW({type: "GET_VERSION_INFO"}) + .then((versionInfo: unknown) => { + if (typeof versionInfo === "string") { + this.setState({serviceWorkerVersionInfo: versionInfo}); + } else { + this.setState({serviceWorkerVersionInfo: "Invalid response!"}); + } + }) + .catch(() => { + this.setState({serviceWorkerVersionInfo: "No response!"}); + }); + + if (navigator.serviceWorker.controller) { + // Now that we are sending this message to the service worker instead of + // using a fetch + this.cacheApplication(); + } else { + console.log("service worker is not controlling page yet so we can't install files."); + } + }); + + } + + cacheApplication() { + const wbManifest = (window as any).__wbManifest; + // const offlineManifest: OfflineManifest = { name: "Application Manifest", activities: [], cacheList: [] }; + + // FIXME: this caching is going to happen after the initial page load + // that means that the manifest.json and index.html will be cached by chrome as it parses the + // manifest. The index.html request comes from Chrome's new installable dection that makes an offline request + // to the start_url in the manifest. + // Not clear what the solution to that is yet. + const appUrls = wbManifest.map((entry: {revision: null | string; url: string}) => { + // TODO we are ignoring the revisions for now, because they require moving this code into + // into the service worker so it know what revision to look for either when the actual page + // requests it, or when it is making the install request and then it should not include + // the revision param in the cached key + // if (entry.revision) { + // const parsedUrl = queryString.parseUrl(entry.url); + // parsedUrl.query.__WB_REVISION__ = entry.revision; + // return queryString.stringifyUrl(parsedUrl); + // } else { + // return entry.url; + // } + return entry.url; + }); + + this.wb.messageSW({type: "CACHE_URLS_WITH_PROGRESS", payload: {urlsToCache: appUrls}}) + .then((response: any) => { + console.log("url caching finished", response); + }) + .catch(() => { + console.error("url caching failed"); + }); + } + + render() { + const appVersionInfo = (window as any).__appVersionInfo; + const {serviceWorkerVersionInfo} = this.state; + + return ( +
    +
    Hello from Install Component
    +
    + Application: {appVersionInfo || "No Version Info"} + {serviceWorkerVersionInfo && ` | Service Worker: ${serviceWorkerVersionInfo}`} +
    +
    + ); + } +} diff --git a/src/install.html b/src/install.html new file mode 100644 index 00000000..afd5dbde --- /dev/null +++ b/src/install.html @@ -0,0 +1,22 @@ + + + + + Activity Player + + + + + + + + +
    + + diff --git a/src/install.sass b/src/install.sass new file mode 100644 index 00000000..5ebe2113 --- /dev/null +++ b/src/install.sass @@ -0,0 +1,6 @@ +html, body + margin: 0 + padding: 0 + +body + font-family: arial, helvetica, sans-serif; diff --git a/src/install.tsx b/src/install.tsx new file mode 100644 index 00000000..380c2450 --- /dev/null +++ b/src/install.tsx @@ -0,0 +1,10 @@ +import React from "react"; +import ReactDOM from "react-dom"; +import { InstallApp } from "./components/install-app"; + +import "./install.sass"; + +ReactDOM.render( + , + document.getElementById("app") +); diff --git a/src/service-worker.ts b/src/service-worker.ts index 54d8884d..aa5d4106 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -2,9 +2,8 @@ declare const self: ServiceWorkerGlobalScope; const versionInfo = "__SERVICE_WORKER_VERSION_INFO__"; // replaced by webpack using string-replace-loader -import { precacheAndRoute } from "workbox-precaching"; import { registerRoute } from "workbox-routing"; -import { StaleWhileRevalidate } from "workbox-strategies"; +import { CacheOnly, NetworkFirst } from "workbox-strategies"; import { CacheableResponsePlugin } from "workbox-cacheable-response"; import { RangeRequestsPlugin } from "workbox-range-requests"; @@ -12,54 +11,155 @@ const ignoredGets: RegExp[] = [ /\/sockjs-node\/info/, // webpack-dev-server /\.hot-update\./, // webpack-dev-server /\/firestore\.googleapis\.com\//, // firebase + /\/install\.html/, // installer + /\/assets\/install\.*/, // installer + /\/app-manifest\.js/, // installer ]; -// InjectManifest will add in the precache manifest here: -const precacheEntries = [ - // Add URLs that are referenced directly in index.html - {url: "https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", revision: null}, - {url: "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", revision: null}, - ].concat((self as any).__WB_MANIFEST); - -precacheAndRoute(precacheEntries, { - // Ignore most URL parameters. We want to ignore the runKey on index.html - // as well as other parameters on index.html - // The exception are the params needed by the lato request above - // This approach of not ignoring family and display is hacking. - // It'd be better if we just ignored all params on index.html and let other - // params go through. We are about to change this precaching code, so it - // doesn't seem worth the effort to find a better way - ignoreURLParametersMatching: [/(?!(family|display))/] -}); +// FIXME: we need to ignore some URL parameters but not others and it is +// different for different cases. +// When installing files we are adding a __WB_REVISION__ param +// but when searchig for files that won't be included. +// The index.html will have an activity and contentUrl param when a link is clicked +// on. +// The revision params are useful to so futures installs force updates +// to files. So it prevents incorrect caching. This is only needed during the +// install. If we saved these parameters in the actual cache then we'd need to +// re-add these revisions for each matching request so it would be found in the cache +// If we don't store them in the cache, then we'll have to maintain them outside +// of the cache which seems error prone. However to put them in the cache we have +// to maintain outside anyhow so we can add them to each request. So it seems +// like we have to use them. +// In our current application manifest, the only two places they are needed is on the +// index.html and manifest.json files. +// In our content manifests they are needed pretty much everywhere. // Cache all get requests +// We will need something like this for authoring +// registerRoute( +// ({ request }) => { +// const isGet = request.method.toUpperCase() === "GET"; +// const isIgnored = !!ignoredGets.find(ig => ig.test(request.url)); +// const isCachable = isGet && !isIgnored; +// if (isCachable) { +// self.clients.matchAll({type: "window"}).then(clients => { +// for (const client of clients) { +// client.postMessage({type: "GET_REQUEST", url: request.url}); +// } +// }); +// } +// return isCachable; +// }, +// new StaleWhileRevalidate({ +// cacheName: "cachedGets", +// plugins: [ +// // Ensure that only requests that result in a 200 status are cached +// new CacheableResponsePlugin({ +// statuses: [0, 200], +// }), +// // handle range requests +// new RangeRequestsPlugin(), +// ], +// }), +// ); + registerRoute( ({ request }) => { const isGet = request.method.toUpperCase() === "GET"; + // TODO: Maybe we want to block firestore requests when not launched from the portal + // but those should only happen if the application code is buggy const isIgnored = !!ignoredGets.find(ig => ig.test(request.url)); - const isCachable = isGet && !isIgnored; - if (isCachable) { - self.clients.matchAll({type: "window"}).then(clients => { - for (const client of clients) { - client.postMessage({type: "GET_REQUEST", url: request.url}); - } - }); - } - return isCachable; + return isGet && !isIgnored; }, - new StaleWhileRevalidate({ + new CacheOnly({ cacheName: "cachedGets", plugins: [ - // Ensure that only requests that result in a 200 status are cached - new CacheableResponsePlugin({ - statuses: [0, 200], - }), // handle range requests new RangeRequestsPlugin(), ], }), ); + +// These were taken from workbox-routing/Router +// they will likely need to be changed so we can include revisions +// which can force updates from what is cached. +type RequestArgs = string | [string, RequestInit?]; +interface CacheURLsMessageData { + type: string; + payload: { + urlsToCache: RequestArgs[]; + }; +} + +// This was taken from workbox-routing/Router + +/** + * Adds a message event listener for URLs to cache from the window. + * This is useful to cache resources loaded on the page prior to when the + * service worker started controlling it. + * + * The format of the message data sent from the window should be as follows. + * Where the `urlsToCache` array may consist of URL strings or an array of + * URL string + `requestInit` object (the same as you'd pass to `fetch()`). + * + * ``` + * { + * type: 'CACHE_URLS', + * payload: { + * urlsToCache: [ + * './script1.js', + * './script2.js', + * ['./script3.js', {mode: 'no-cors'}], + * ], + * }, + * } + * ``` + */ +function addCacheListener() { + const networkFirst = new NetworkFirst({ + // TOOD: this is a seperate cache for now just to test it out + cacheName: "cachedGets" + }); + + // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705 + self.addEventListener("message", ((event: ExtendableMessageEvent) => { + if (event.data && event.data.type === "CACHE_URLS_WITH_PROGRESS") { + const {payload}: CacheURLsMessageData = event.data; + + console.log(`Caching URLs from the window`, payload.urlsToCache); + + const requestPromises = Promise.all(payload.urlsToCache.map( + (entry: string | [string, RequestInit?]) => { + if (typeof entry === "string") { + entry = [entry]; + } + + const request = new Request(...entry); + // Use a specific stragegy that is not registered as a route + // this way we get WorkBoxes features of stragegies without adding this + // network stragegy as a way that handles fetch events so regular + // page requests won't trigger network requests + return networkFirst.handle({request, event}); + + // TODO(philipwalton): TypeScript errors without this typecast for + // some reason (probably a bug). The real type here should work but + // doesn't: `Array | undefined>`. + }) as any[]); // TypeScript + + event.waitUntil(requestPromises); + + // TODO: update this so it sends back status as each request is made + // If a MessageChannel was used, reply to the message on success. + if (event.ports && event.ports[0]) { + requestPromises.then(() => event.ports[0].postMessage(true)); + } + } + }) as EventListener); +} + +addCacheListener(); + addEventListener("message", (event) => { if (event.data) { switch (event.data.type) { diff --git a/webpack.config.js b/webpack.config.js index f07098a3..b460aec2 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -32,6 +32,7 @@ module.exports = (env, argv) => { return [ // service-worker (not auto-bundled but registered in app) { + name: "Service Worker", context: __dirname, // to automatically find tsconfig.json devtool: "inline-source-map", entry: "./src/service-worker.ts", @@ -52,6 +53,14 @@ module.exports = (env, argv) => { } ] }, + { + test: /service-worker\.ts$/, + loader: 'string-replace-loader', + options: { + search: '__SERVICE_WORKER_VERSION_INFO__', + replace: serviceWorkerVersionInfo, + } + }, { test: /\.ts$/, loader: "ts-loader", @@ -70,14 +79,18 @@ module.exports = (env, argv) => { devServer }, - // index (auto-bundled into index.html) + // install (auto-bundled into install.html) + // Probably need to change the order here if we want to inject the manifest + // in the install.js or install.html files, that way those files will + // be built first before the InjectManifest plugin runs. { + name: "AP Offline Installer", context: __dirname, // to automatically find tsconfig.json devtool: "source-map", - entry: "./src/index.tsx", + entry: "./src/install.tsx", mode: "development", output: { - filename: "assets/index.[hash].js" + filename: "assets/install.[hash].js" }, performance: { hints: false }, module: { @@ -167,6 +180,113 @@ module.exports = (env, argv) => { // suppress "export not found" warnings about re-exported types warningsFilter: /export .* was not found in/ }, + plugins: [ + new MiniCssExtractPlugin({ + filename: devMode ? "assets/install.css" : "assets/install.[hash].css" + }), + new HtmlWebpackPlugin({ + filename: "install.html", + template: "src/install.html" + }), + new HtmlReplaceWebpackPlugin([ + { + pattern: '__APP_VERSION_INFO__', + replacement: appVersionInfo + } + ]), + ] + }, + + // index (auto-bundled into index.html) + { + name: "Main Application", + context: __dirname, // to automatically find tsconfig.json + devtool: "source-map", + entry: "./src/index.tsx", + mode: "development", + output: { + filename: "assets/index.[hash].js" + }, + performance: { hints: false }, + module: { + rules: [ + { + test: /\.tsx?$/, + enforce: "pre", + use: [ + { + loader: "eslint-loader", + options: {} + } + ] + }, + { + test: /\.tsx?$/, + loader: "ts-loader" + }, + { + test: /\.(sa|sc|c)ss$/i, + use: [ + devMode ? "style-loader" : MiniCssExtractPlugin.loader, + { + loader: "css-loader", + options: { + modules: { + // required for :import from scss files + // cf. https://github.com/webpack-contrib/css-loader#separating-interoperable-css-only-and-css-module-features + compileType: "icss" + } + } + }, + "postcss-loader", + "sass-loader" + ] + }, + { + test: /\.(png|woff|woff2|eot|ttf)$/, + loader: "url-loader", + options: { + limit: 8192 + } + }, + { + test: /\.svg$/, + oneOf: [ + { + // Do not apply SVGR import in CSS files. + issuer: /\.(css|scss|less)$/, + use: "url-loader" + }, + { + issuer: /\.tsx?$/, + loader: "@svgr/webpack" + } + ] + }, + // This code coverage instrumentation should only be added when needed. It makes + // the code larger and slower + process.env.CODE_COVERAGE ? { + test: /\.[tj]sx?$/, + use: { + loader: "istanbul-instrumenter-loader", + options: { esModules: true }, + }, + enforce: "post", + // I"m not sure but I don"t think it is necessary to exclude the cypress and + // tests folder. I think Jest does its own loading of tests. And cypress does + // its own loading of cypress + exclude: /node_modules|\.spec\.js$/, + + } : {} + ] + }, + resolve: { + extensions: [ ".ts", ".tsx", ".js" ] + }, + stats: { + // suppress "export not found" warnings about re-exported types + warningsFilter: /export .* was not found in/ + }, plugins: [ new MiniCssExtractPlugin({ filename: devMode ? "assets/index.css" : "assets/index.[hash].css" @@ -187,10 +307,24 @@ module.exports = (env, argv) => { ] }), new InjectManifest({ - swSrc: "./src/service-worker.ts", + swSrc: "./src/app-manifest.js", + compileSrc: false, + exclude: [ + /^offline-activities\/.*/, + /^offline-manifests\/.*/ + ], + additionalManifestEntries: [ + {url: "https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", revision: null}, + {url: "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", revision: null}, + // These URLS might not be stable. They are referenced by the css which could be updated + // to refer to new font files. + {url: "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", revision: null}, + {url: "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", revision: null} + ], maximumFileSizeToCacheInBytes: 1024 * 1024 * 10 }) ] } + ]; }; From b7e5940c51a7ab635da39840b2cf4b07f3411480 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Fri, 26 Mar 2021 22:49:52 -0400 Subject: [PATCH 142/242] add in the __WB_REVISION__ to help with stale caching --- src/components/install-app.tsx | 17 +++++++---------- src/service-worker.ts | 31 +++++++++++++++++++++++++++---- 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/src/components/install-app.tsx b/src/components/install-app.tsx index d43f24b2..14c6bfb7 100644 --- a/src/components/install-app.tsx +++ b/src/components/install-app.tsx @@ -1,8 +1,6 @@ import React from "react"; import { isOfflineHost } from "../utilities/host-utils"; import { Workbox } from "workbox-window/index"; -import { cacheOfflineManifest } from "../offline-manifest-api"; -import { OfflineManifest } from "../types"; import queryString from "query-string"; interface IState { @@ -72,14 +70,13 @@ export class InstallApp extends React.PureComponent { // into the service worker so it know what revision to look for either when the actual page // requests it, or when it is making the install request and then it should not include // the revision param in the cached key - // if (entry.revision) { - // const parsedUrl = queryString.parseUrl(entry.url); - // parsedUrl.query.__WB_REVISION__ = entry.revision; - // return queryString.stringifyUrl(parsedUrl); - // } else { - // return entry.url; - // } - return entry.url; + if (entry.revision) { + const parsedUrl = queryString.parseUrl(entry.url); + parsedUrl.query.__WB_REVISION__ = entry.revision; + return queryString.stringifyUrl(parsedUrl); + } else { + return entry.url; + } }); this.wb.messageSW({type: "CACHE_URLS_WITH_PROGRESS", payload: {urlsToCache: appUrls}}) diff --git a/src/service-worker.ts b/src/service-worker.ts index aa5d4106..761106d6 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -2,9 +2,10 @@ declare const self: ServiceWorkerGlobalScope; const versionInfo = "__SERVICE_WORKER_VERSION_INFO__"; // replaced by webpack using string-replace-loader +import { WorkboxPlugin } from "workbox-core"; import { registerRoute } from "workbox-routing"; import { CacheOnly, NetworkFirst } from "workbox-strategies"; -import { CacheableResponsePlugin } from "workbox-cacheable-response"; +// import { CacheableResponsePlugin } from "workbox-cacheable-response"; import { RangeRequestsPlugin } from "workbox-range-requests"; const ignoredGets: RegExp[] = [ @@ -63,6 +64,23 @@ const ignoredGets: RegExp[] = [ // }), // ); +/** + Strip out the __WB_REVISION__ parameter + Note this also escapes the parameters, so it needs to be applied to both the + write and read operations + For example URLs like this one: + https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap + get converted to this format when passing through: + https://fonts.googleapis.com/css2?family=Lato%3Awght%40400%3B700%3B900&display=swap +**/ +const stripWbRevision: WorkboxPlugin = { + cacheKeyWillBeUsed: async ({request, mode, params, event, state}) => { + const url = new URL(request.url); + url.searchParams.delete("__WB_REVISION__"); + return url.href; + } +}; + registerRoute( ({ request }) => { const isGet = request.method.toUpperCase() === "GET"; @@ -76,6 +94,9 @@ registerRoute( plugins: [ // handle range requests new RangeRequestsPlugin(), + // We don't really need to delete the __WB_REVISION__ here + // but otherwise the cache key will not match the key used during the install + stripWbRevision ], }), ); @@ -118,8 +139,10 @@ interface CacheURLsMessageData { */ function addCacheListener() { const networkFirst = new NetworkFirst({ - // TOOD: this is a seperate cache for now just to test it out - cacheName: "cachedGets" + cacheName: "cachedGets", + plugins: [ + stripWbRevision + ] }); // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705 @@ -151,7 +174,7 @@ function addCacheListener() { // TODO: update this so it sends back status as each request is made // If a MessageChannel was used, reply to the message on success. - if (event.ports && event.ports[0]) { + if (event.ports?.[0]) { requestPromises.then(() => event.ports[0].postMessage(true)); } } From 60b34f511db26925516a0cae9f744b9241720a19 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 27 Mar 2021 19:50:15 -0400 Subject: [PATCH 143/242] seems like offlineMode should be passed through --- src/components/expandable-content/expandable-container.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/expandable-content/expandable-container.tsx b/src/components/expandable-content/expandable-container.tsx index 8fe82b15..0e1f2215 100644 --- a/src/components/expandable-content/expandable-container.tsx +++ b/src/components/expandable-content/expandable-container.tsx @@ -33,7 +33,7 @@ export const ExpandableContainer: React.FC = (props) => { ) } From 9b9973991aa5171d488cb2fd2c79c03f6ac8b94b Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 27 Mar 2021 19:54:35 -0400 Subject: [PATCH 144/242] remove --hot from dev server, it doesn't work with service workers --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index e32dd21f..de69a248 100644 --- a/package.json +++ b/package.json @@ -46,8 +46,8 @@ "start": "webpack-dev-server --inline --hot --content-base dist/ --port=11000", "start:secure": "webpack-dev-server --https --inline --hot --content-base dist/ --cert ~/.localhost-ssl/localhost.pem --key ~/.localhost-ssl/localhost.key --port=11000", "start:secure:no-certs": "webpack-dev-server --https --inline --hot --content-base dist/ --port=11000", - "start:offline": "webpack-dev-server --inline --hot --content-base dist/ --port=11002", - "start:secure:offline": "webpack-dev-server --https --inline --hot --content-base dist/ --cert ~/.localhost-ssl/localhost.pem --key ~/.localhost-ssl/localhost.key --port=11002", + "start:offline": "webpack-dev-server --inline --content-base dist/ --port=11002", + "start:secure:offline": "webpack-dev-server --https --inline --content-base dist/ --cert ~/.localhost-ssl/localhost.pem --key ~/.localhost-ssl/localhost.key --port=11002", "start:secure:no-certs:offline": "webpack-dev-server --https --inline --hot --content-base dist/ --port=11002", "build": "npm-run-all lint:build clean build:webpack", "build:webpack": "webpack --mode production --devtool false", From 6f2fa0f37e7d2399a6a0ed484087ce136aa39ec3 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 27 Mar 2021 19:57:52 -0400 Subject: [PATCH 145/242] pass offlineMode into side bar plugin also remove an extra import that lint was complaining about --- .../activity-introduction/introduction-page-content.tsx | 1 - src/components/expandable-content/expandable-container.tsx | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/activity-introduction/introduction-page-content.tsx b/src/components/activity-introduction/introduction-page-content.tsx index e5cea2cc..b8abf09e 100644 --- a/src/components/activity-introduction/introduction-page-content.tsx +++ b/src/components/activity-introduction/introduction-page-content.tsx @@ -4,7 +4,6 @@ import { ActivityPageLinks } from "../activity-introduction/activity-page-links" import "./introduction-page-content.scss"; import { Activity } from "../../types"; -import { ImportAnswers } from "./introduction-import-answers"; interface IProps { activity: Activity; diff --git a/src/components/expandable-content/expandable-container.tsx b/src/components/expandable-content/expandable-container.tsx index 8fe82b15..0e1f2215 100644 --- a/src/components/expandable-content/expandable-container.tsx +++ b/src/components/expandable-content/expandable-container.tsx @@ -33,7 +33,7 @@ export const ExpandableContainer: React.FC = (props) => { ) } From 98fc33c167fc4bebd2d0ad68c64b905e453eec15 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 27 Mar 2021 20:26:07 -0400 Subject: [PATCH 146/242] load offlineManifest with parameter install.html?offlineManifest=id downloads the manifest, stores the activities in localStorage, and sends the set of cacheUrls to the serviceWorker to cache --- src/components/install-app.tsx | 46 +++++++++++++++++-- .../offline-manifest-loading-modal.tsx | 13 ++++-- src/offline-manifest-api.ts | 38 +++++++++++---- src/service-worker.ts | 1 + 4 files changed, 80 insertions(+), 18 deletions(-) diff --git a/src/components/install-app.tsx b/src/components/install-app.tsx index 14c6bfb7..6a3482d9 100644 --- a/src/components/install-app.tsx +++ b/src/components/install-app.tsx @@ -2,9 +2,15 @@ import React from "react"; import { isOfflineHost } from "../utilities/host-utils"; import { Workbox } from "workbox-window/index"; import queryString from "query-string"; +import { getOfflineManifest, saveOfflineManifestToOfflineActivities } from "../offline-manifest-api"; +import { OfflineManifest } from "../types"; +import { OfflineManifestLoadingModal } from "./offline-manifest-loading-modal"; +import { queryValue } from "../utilities/url-query"; interface IState { serviceWorkerVersionInfo?: string; + loadingOfflineManifest: boolean; + offlineManifest?: OfflineManifest; } interface IProps { } @@ -18,16 +24,33 @@ export class InstallApp extends React.PureComponent { if (!isOfflineHost() || !("serviceWorker" in navigator)) { // Don't setup workbox - this.state = {}; + this.state = { + loadingOfflineManifest: false + }; + // TODO: show some useful message incase some one loads this page from a + // non offline host, or in a browser without service worker support return; } + const offlineManifestId = queryValue("offlineManifest"); + const loadingOfflineManifest = !!offlineManifestId; + this.state = { - serviceWorkerVersionInfo: "Starting..." + serviceWorkerVersionInfo: "Starting...", + loadingOfflineManifest }; this.wb = new Workbox("service-worker.js"); + this.wb.addEventListener("waiting", (event) => { + // TODO: in future work we should show a dialog using this recipe: + // https://developers.google.com/web/tools/workbox/guides/advanced-recipes#offer_a_page_reload_for_users + // For now just send a message to skip waiting so we don't have to do it manually in the devtools + // This will trigger a 'controlling' event which we are listening for below and reload the page when + // we get it + this.wb.messageSkipWaiting(); + }); + this.wb.register().then((_registration) => { console.log("Workbox register() promise resolved", _registration); @@ -54,6 +77,19 @@ export class InstallApp extends React.PureComponent { } }); + if (offlineManifestId) { + getOfflineManifest(offlineManifestId) + .then(async (offlineManifest) => { + console.log("got offlineManifest", offlineManifest); + if (offlineManifest) { + await saveOfflineManifestToOfflineActivities(offlineManifest); + this.setState({offlineManifest}); + } + }) + .catch(error => { + console.error(error); + }); + } } cacheApplication() { @@ -90,7 +126,7 @@ export class InstallApp extends React.PureComponent { render() { const appVersionInfo = (window as any).__appVersionInfo; - const {serviceWorkerVersionInfo} = this.state; + const {serviceWorkerVersionInfo, offlineManifest, loadingOfflineManifest} = this.state; return (
    @@ -99,6 +135,10 @@ export class InstallApp extends React.PureComponent { Application: {appVersionInfo || "No Version Info"} {serviceWorkerVersionInfo && ` | Service Worker: ${serviceWorkerVersionInfo}`}
    + { (offlineManifest && loadingOfflineManifest) ? + + : null + }
    ); } diff --git a/src/components/offline-manifest-loading-modal.tsx b/src/components/offline-manifest-loading-modal.tsx index 935133b3..60d9467c 100644 --- a/src/components/offline-manifest-loading-modal.tsx +++ b/src/components/offline-manifest-loading-modal.tsx @@ -1,13 +1,15 @@ import React from "react"; import { cacheOfflineManifest } from "../offline-manifest-api"; import { OfflineManifest } from "../types"; +import { Workbox } from "workbox-window/index"; import "./offline-manifest-loading-modal.scss"; interface IProps { offlineManifest: OfflineManifest; - onClose: () => void; + onClose?: () => void; showOfflineManifestInstallConfirmation: boolean; + workbox?: Workbox; } interface IState { @@ -30,9 +32,10 @@ export class OfflineManifestLoadingModal extends React.Component } componentDidMount() { - const { offlineManifest } = this.props; + const { offlineManifest, workbox } = this.props; cacheOfflineManifest({ + workbox, offlineManifest, onCachingStarted: (urls) => { this.setState({urlsToCache: urls}); @@ -60,10 +63,10 @@ export class OfflineManifestLoadingModal extends React.Component checkForAutoClose(props: IProps) { const {caching, urlsFailedToCache} = this.state; - const {showOfflineManifestInstallConfirmation} = this.props; - if (!caching && (urlsFailedToCache.length === 0) && !showOfflineManifestInstallConfirmation) { + const {showOfflineManifestInstallConfirmation, onClose} = this.props; + if (onClose && !caching && (urlsFailedToCache.length === 0) && !showOfflineManifestInstallConfirmation) { // allow the final render - setTimeout(() => props.onClose(), 0); + setTimeout(() => onClose(), 0); } } diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index 6f093f19..bfc94e2e 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -1,5 +1,6 @@ import { dexieStorage } from "./storage/dexie-storage"; import { OfflineActivity, OfflineManifest, OfflineManifestActivity } from "./types"; +import { Workbox } from "workbox-window/index"; export interface OfflineManifestAuthoringData { activities: OfflineManifestActivity[]; @@ -33,6 +34,7 @@ export const getOfflineManifest = (id: string): Promise => { }; export interface CacheOfflineManifestOptions { + workbox?: Workbox; offlineManifest: OfflineManifest; onCachingStarted: (urls: string[]) => void; onUrlCached: (url: string) => void; @@ -42,17 +44,33 @@ export interface CacheOfflineManifestOptions { } export const cacheOfflineManifest = (options: CacheOfflineManifestOptions) => { - const {offlineManifest, onCachingStarted, onUrlCached, onUrlCacheFailed, onAllUrlsCached, onAllUrlsCacheFailed} = options; + const {workbox, offlineManifest, onCachingStarted, onUrlCached, onUrlCacheFailed, onAllUrlsCached, onAllUrlsCacheFailed} = options; const urls = offlineManifest.activities.map(a => a.contentUrl).concat(offlineManifest.cacheList); - const loadingPromises = urls.map(url => { - return fetch(url, {mode: "cors"}) - .then(() => onUrlCached(url)) - .catch(err => onUrlCacheFailed(url, err)); - }); - onCachingStarted(urls); - return Promise.all(loadingPromises) - .then(() => onAllUrlsCached()) - .catch(err => onAllUrlsCacheFailed(err)); + + if (workbox) { + onCachingStarted(urls); + // TODO: add handling of messages from service worker indicating the status + return workbox.messageSW({type: "CACHE_URLS_WITH_PROGRESS", payload: {urlsToCache: urls}}) + .then((response: any) => { + console.log("url caching finished", response); + onAllUrlsCached(); + }) + .catch((err) => { + // I'm not sure it currently returns an error + console.error("url caching failed"); + onAllUrlsCacheFailed(err); + }); + } else { + const loadingPromises = urls.map(url => { + return fetch(url, {mode: "cors"}) + .then(() => onUrlCached(url)) + .catch(err => onUrlCacheFailed(url, err)); + }); + onCachingStarted(urls); + return Promise.all(loadingPromises) + .then(() => onAllUrlsCached()) + .catch(err => onAllUrlsCacheFailed(err)); + } }; export const OfflineManifestAuthoringIdKey = "offlineManifestAuthoringId"; diff --git a/src/service-worker.ts b/src/service-worker.ts index 761106d6..b89b8441 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -15,6 +15,7 @@ const ignoredGets: RegExp[] = [ /\/install\.html/, // installer /\/assets\/install\.*/, // installer /\/app-manifest\.js/, // installer + /\/offline-manifests\/.*/ // built in manifests ]; // FIXME: we need to ignore some URL parameters but not others and it is From ab6d1ace0a9e8743c4d085aed246c608c4c6820b Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 27 Mar 2021 21:20:07 -0400 Subject: [PATCH 147/242] handle index.html params and simple slash --- src/service-worker.ts | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/service-worker.ts b/src/service-worker.ts index b89b8441..a17ce724 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -82,6 +82,29 @@ const stripWbRevision: WorkboxPlugin = { } }; +// If the service worker is loaded at: +// https://example.com/path/service-worker.js +// Then treat +// https://example.com/path/ +// https://example.com/path/index.html +// https://example.com/path/index.html?anyParam=hi&anyOtherParam +// All as the same url from the cache they all will have the cache key of +// https://example.com/path/index.html +const rootUrl = new URL(".", location.href); +const rootIndexHtmlUrl = new URL("index.html", location.href); +const cleanIndexHtmlParams: WorkboxPlugin = { + cacheKeyWillBeUsed: async ({request, mode, params, event, state}) => { + const url = new URL(request.url); + if (url.origin === location.origin && + (url.pathname === rootUrl.pathname || + url.pathname === rootIndexHtmlUrl.pathname) ) { + return rootIndexHtmlUrl.href; + } else { + return request; + } + } +}; + registerRoute( ({ request }) => { const isGet = request.method.toUpperCase() === "GET"; @@ -97,7 +120,8 @@ registerRoute( new RangeRequestsPlugin(), // We don't really need to delete the __WB_REVISION__ here // but otherwise the cache key will not match the key used during the install - stripWbRevision + stripWbRevision, + cleanIndexHtmlParams ], }), ); @@ -142,7 +166,8 @@ function addCacheListener() { const networkFirst = new NetworkFirst({ cacheName: "cachedGets", plugins: [ - stripWbRevision + stripWbRevision, + cleanIndexHtmlParams ] }); From 02e50dfdf52885c67ab2a0549c63326aa912773b Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Sun, 28 Mar 2021 11:01:29 -0400 Subject: [PATCH 148/242] Added local Alaska glossary and switched glossary brank for test glossary --- src/public/glossary-files/alaska.json | 403 ++++++++++++++++++ .../offline-activities/glossary-test-v1.json | 8 +- .../offline-manifests/glossary-test-v1.json | 3 +- 3 files changed, 408 insertions(+), 6 deletions(-) create mode 100644 src/public/glossary-files/alaska.json diff --git a/src/public/glossary-files/alaska.json b/src/public/glossary-files/alaska.json new file mode 100644 index 00000000..cd52a299 --- /dev/null +++ b/src/public/glossary-files/alaska.json @@ -0,0 +1,403 @@ +{ + "enableStudentLanguageSwitching": true, + "askForUserDefinition": true, + "definitions": [ + { + "word": "weather", + "definition": "The condition of the air that surrounds the Earth at a particular time and place.", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/weather.jpg", + "imageCaption": "There can be many changes to the day-to-day temperature and precipitation conditions.", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/weather-movie.mp4", + "videoCaption": "The changes in air and water surrounding the Earth form different weather conditions." + }, + { + "word": "decomposition", + "definition": "Organizing a large amount of information (data) into smaller more manageable parts. ", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.jpg", + "imageCaption": "Breaking it down into smaller parts.", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.mp4", + "videoCaption": "Breaking it down into smaller parts." + }, + { + "word": "pattern recognition", + "definition": "Recognizing that data or information is repeating in a logical (expected) way.", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/pattern-recognition.jpg", + "imageCaption": "Matching similar sets of data or visual information.", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/PatternRecognition.mp4", + "videoCaption": "Matching similar sets of data or visual information." + }, + { + "word": "extrapolation", + "definition": "Following a pattern beyond the known data points. ", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/exptrapolation.jpg", + "imageCaption": "Estimating extension based on existing patterns.", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/extrapolation.mp4", + "videoCaption": "Estimating extension based on existing patterns." + }, + { + "word": "interpolation", + "definition": "Estimating an unknown value based on surrounding information.", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.jpg", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.mp4" + }, + { + "word": "prediction", + "definition": "Forecast based on evidence about a future event.", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", + "imageCaption": "A prediction or forecast can vary about possible future weather.", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction.mp4", + "videoCaption": "This prediction or forecast is a guess about the future weather. The guess is based on prior facts or evidence." + }, + { + "word": "front", + "definition": "The area between two colliding air masses of different temperatures that result in a change in weather. ", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.jpg", + "imageCaption": "A map of different air masses colliding.", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.mp4", + "videoCaption": "Radar of moving air masses of different temperatures and moisture content." + }, + { + "word": "precipitation", + "definition": "Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/precipitation.jpg", + "imageCaption": "Precipitation in the form of snow falling from the sky. ", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/precipitation_snow.mp4", + "videoCaption": "Precipitation in the form of snow falling from the sky. " + }, + { + "word": "wind direction", + "definition": "Wind direction is described by using the direction that the wind came from. For example, a southerly wind would blow from the south to the north. Wind direction is measured a number of ways including weather vanes, flags, and windsocks. ", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/wind-direction.jpg", + "imageCaption": "Wind socks are used at airports to determine wind direction.", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/WindDirection.mp4", + "videoCaption": "Wind socks are used at airports to determine wind direction." + }, + { + "word": "air moisture", + "definition": "Air moisture amount or content of water in the air.", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/air_moisture_fog-high.jpg", + "imageCaption": "Air moisture can impact land cover.", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/moisture-amount.mp4", + "videoCaption": "During rain or snow storms there is a lot of moisture in the air." + }, + { + "word": "aggregation", + "definition": "Describes the data collection and organization process you use to better understand the topic. ", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", + "imageCaption": "Collecting and grouping data.", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/Aggregation.mp4", + "videoCaption": "Collecting and grouping data." + }, + { + "word": "abstraction", + "definition": "Simplifying data to make it easier to interpret and find patterns.", + "image": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", + "imageCaption": "Finding a trend in data.", + "video": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/AbstractionMovie.mp4", + "videoCaption": "Finding a trend in data." + } + ], + "autoShowMediaInPopup": true, + "translations": { + "mi": { + "weather.word": "", + "weather.word_mp3_url": "", + "weather.definition": "", + "weather.definition_mp3_url": "", + "weather.image_caption": "Gits'anxitodoł", + "weather.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", + "weather.video_caption": "Ttheting ndadz dixet'a?", + "weather.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", + "decomposition.word": "", + "decomposition.word_mp3_url": "", + "decomposition.definition": "", + "decomposition.definition_mp3_url": "", + "decomposition.image_caption": "", + "decomposition.image_caption_mp3_url": "", + "decomposition.video_caption": "", + "decomposition.video_caption_mp3_url": "", + "pattern recognition.word": "", + "pattern recognition.word_mp3_url": "", + "pattern recognition.definition": "", + "pattern recognition.definition_mp3_url": "", + "pattern recognition.image_caption": "Ghoghoy yigidighoy", + "pattern recognition.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", + "pattern recognition.video_caption": "Gon ghoghoy yigidighoy axa ditast'eł.", + "pattern recognition.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", + "extrapolation.word": "", + "extrapolation.word_mp3_url": "", + "extrapolation.definition": "", + "extrapolation.definition_mp3_url": "", + "extrapolation.image_caption": "Ndadz chenh", + "extrapolation.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "extrapolation.video_caption": "Ndadz chenh", + "extrapolation.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "interpolation.word": "", + "interpolation.word_mp3_url": "", + "interpolation.definition": "", + "interpolation.definition_mp3_url": "", + "interpolation.image_caption": "Vitotuq, dotuq", + "interpolation.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", + "interpolation.video_caption": "Vitotuq, dotuq", + "interpolation.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Atthabaskan/Vitotuq_between_middle.mp3", + "prediction.word": "", + "prediction.word_mp3_url": "", + "prediction.definition": "", + "prediction.definition_mp3_url": "", + "prediction.image_caption": "Ndadz chenh", + "prediction.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "prediction.video_caption": "Ndadz chenh", + "prediction.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "front.word": "", + "front.word_mp3_url": "", + "front.definition": "", + "front.definition_mp3_url": "", + "front.image_caption": "", + "front.image_caption_mp3_url": "", + "front.video_caption": "", + "front.video_caption_mp3_url": "", + "precipitation.word": "", + "precipitation.word_mp3_url": "", + "precipitation.definition": "", + "precipitation.definition_mp3_url": "", + "precipitation.image_caption": "Xiyh tux iłyoth.", + "precipitation.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", + "precipitation.video_caption": "Xiyh tux iłyoth.", + "precipitation.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", + "wind direction.word": "", + "wind direction.word_mp3_url": "", + "wind direction.definition": "", + "wind direction.definition_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", + "wind direction.image_caption": "Xidetr'iyh", + "wind direction.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", + "wind direction.video_caption": "Do'odz xantidhitr'iyh.", + "wind direction.video_caption_mp3_url": "", + "air moisture.word": "", + "air moisture.word_mp3_url": "", + "air moisture.definition": "", + "air moisture.definition_mp3_url": "", + "air moisture.image_caption": "", + "air moisture.image_caption_mp3_url": "", + "air moisture.video_caption": "", + "air moisture.video_caption_mp3_url": "", + "aggregation.word": "", + "aggregation.word_mp3_url": "", + "aggregation.definition": "", + "aggregation.definition_mp3_url": "", + "aggregation.image_caption": "", + "aggregation.image_caption_mp3_url": "", + "aggregation.video_caption": "", + "aggregation.video_caption_mp3_url": "", + "abstraction.word": "", + "abstraction.word_mp3_url": "", + "abstraction.definition": "", + "abstraction.definition_mp3_url": "", + "abstraction.image_caption": "", + "abstraction.image_caption_mp3_url": "", + "abstraction.video_caption": "", + "abstraction.video_caption_mp3_url": "", + "main_prompt_mp3_url": "", + "write_definition_mp3_url": "" + }, + "mr": { + "weather.word": "", + "weather.word_mp3_url": "", + "weather.definition": "", + "weather.definition_mp3_url": "", + "weather.image_caption": "Ngi'egh ndadz dixet'a?", + "weather.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/How_is_the_weather_Ngieghndadzdixeta.mp3", + "weather.video_caption": "Ngi'egh ndadz dixet'a?", + "weather.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_Is_it_doing_outside_Ngieghndadzdixeta16.mp3", + "decomposition.word": "", + "decomposition.word_mp3_url": "", + "decomposition.definition": "", + "decomposition.definition_mp3_url": "", + "decomposition.image_caption": "", + "decomposition.image_caption_mp3_url": "", + "decomposition.video_caption": "Diggiynetrit iy.", + "decomposition.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Diggiynetritiy_He_broke_it.mp3", + "pattern recognition.word": "", + "pattern recognition.word_mp3_url": "", + "pattern recognition.definition": "", + "pattern recognition.definition_mp3_url": "", + "pattern recognition.image_caption": "Ghoghoy yigidighoy", + "pattern recognition.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Pattern_Ghoghoyyigidighoy.mp3", + "pattern recognition.video_caption": "Gon ghoghoy yigidighoy axa ditast'eł. ", + "pattern recognition.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/I_am_going_to_use_this_patttern_Gon%20ghoghoy_yigidighoy_axa_ditast%27e%C5%82.%20.mp3", + "extrapolation.word": "", + "extrapolation.word_mp3_url": "", + "extrapolation.definition": "", + "extrapolation.definition_mp3_url": "", + "extrapolation.image_caption": "Ndadz chenh.", + "extrapolation.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_is_next_Ndadzchenh.mp3", + "extrapolation.video_caption": "Ndadz chenh.", + "extrapolation.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_is_next_Ndadzchenh.mp3", + "interpolation.word": "", + "interpolation.word_mp3_url": "", + "interpolation.definition": "", + "interpolation.definition_mp3_url": "", + "interpolation.image_caption": "Xivitotuq", + "interpolation.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/middle_Xivitotuq.mp3", + "interpolation.video_caption": "Vitotuq, dotuq", + "interpolation.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/between_middle_Vitotuq.mp3", + "prediction.word": "", + "prediction.word_mp3_url": "", + "prediction.definition": "", + "prediction.definition_mp3_url": "", + "prediction.image_caption": "Ndadz chenh", + "prediction.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "prediction.video_caption": "Ndadz chenh", + "prediction.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "front.word": "", + "front.word_mp3_url": "", + "front.definition": "", + "front.definition_mp3_url": "", + "front.image_caption": "", + "front.image_caption_mp3_url": "", + "front.video_caption": "", + "front.video_caption_mp3_url": "", + "precipitation.word": "", + "precipitation.word_mp3_url": "", + "precipitation.definition": "", + "precipitation.definition_mp3_url": "", + "precipitation.image_caption": "Xiyh tux iłyoth.", + "precipitation.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It_snows_during_the_winter_Xiyhtuxiyoth.mp3", + "precipitation.video_caption": "Iłyoth.", + "precipitation.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It%27s%20snowing_Iyoth.mp3", + "wind direction.word": "", + "wind direction.word_mp3_url": "", + "wind direction.definition": "", + "wind direction.definition_mp3_url": "", + "wind direction.image_caption": "Edodz xandithitr'iyh. Edodz xanxidithitr'iyh.", + "wind direction.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_South_wind_is_starting_to_blow_Edodzxandithitriyh.mp3", + "wind direction.video_caption": "Dong tthedz xidetr'iyh.", + "wind direction.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Wind_is_coming_from_the_west_Dongthedzxidetriyh.mp3", + "air moisture.word": "", + "air moisture.word_mp3_url": "", + "air moisture.definition": "", + "air moisture.definition_mp3_url": "", + "air moisture.image_caption": "Getiy eq ngichox. ", + "air moisture.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_fog_is_thick_Getiyeqngichox.mp3", + "air moisture.video_caption": "Getiy eq xelanh. ", + "air moisture.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/There_is_too_much_fog_Getiyeqxelanh.mp3", + "aggregation.word": "", + "aggregation.word_mp3_url": "", + "aggregation.definition": "", + "aggregation.definition_mp3_url": "", + "aggregation.image_caption": "", + "aggregation.image_caption_mp3_url": "", + "aggregation.video_caption": "", + "aggregation.video_caption_mp3_url": "", + "abstraction.word": "", + "abstraction.word_mp3_url": "", + "abstraction.definition": "", + "abstraction.definition_mp3_url": "", + "abstraction.image_caption": "", + "abstraction.image_caption_mp3_url": "", + "abstraction.video_caption": "", + "abstraction.video_caption_mp3_url": "", + "main_prompt_mp3_url": "", + "write_definition_mp3_url": "" + }, + "gv": { + "weather.word": "", + "weather.word_mp3_url": "", + "weather.definition": "", + "weather.definition_mp3_url": "", + "weather.image_caption": "Qaillun ella ayuqa unuamek? [What is the weather like today?]", + "weather.image_caption_mp3_url": "", + "weather.video_caption": "Amirlirtuq [It is cloudy.]", + "weather.video_caption_mp3_url": "", + "decomposition.word": "", + "decomposition.word_mp3_url": "", + "decomposition.definition": "", + "decomposition.definition_mp3_url": "", + "decomposition.image_caption": "itume [to break into pieces]", + "decomposition.image_caption_mp3_url": "", + "decomposition.video_caption": "itume [to break into pieces]", + "decomposition.video_caption_mp3_url": "", + "pattern recognition.word": "", + "pattern recognition.word_mp3_url": "", + "pattern recognition.definition": "", + "pattern recognition.definition_mp3_url": "", + "pattern recognition.image_caption": "", + "pattern recognition.image_caption_mp3_url": "", + "pattern recognition.video_caption": "", + "pattern recognition.video_caption_mp3_url": "", + "extrapolation.word": "", + "extrapolation.word_mp3_url": "", + "extrapolation.definition": "", + "extrapolation.definition_mp3_url": "", + "extrapolation.image_caption": "", + "extrapolation.image_caption_mp3_url": "", + "extrapolation.video_caption": "", + "extrapolation.video_caption_mp3_url": "", + "interpolation.word": "", + "interpolation.word_mp3_url": "", + "interpolation.definition": "", + "interpolation.definition_mp3_url": "", + "interpolation.image_caption": "akuliq [middle, area between]", + "interpolation.image_caption_mp3_url": "", + "interpolation.video_caption": "akuliq [middle, area between]", + "interpolation.video_caption_mp3_url": "", + "prediction.word": "", + "prediction.word_mp3_url": "", + "prediction.definition": "", + "prediction.definition_mp3_url": "", + "prediction.image_caption": "ellaliuryaraq [checking the weather, weather forecasting]", + "prediction.image_caption_mp3_url": "", + "prediction.video_caption": "ellaliuryaraq [checking the weather, weather forecasting]", + "prediction.video_caption_mp3_url": "", + "front.word": "", + "front.word_mp3_url": "", + "front.definition": "", + "front.definition_mp3_url": "", + "front.image_caption": "anuqem tungai ellaliuryaraq-llu [weather directions]", + "front.image_caption_mp3_url": "", + "front.video_caption": "anuqem tungai ellaliuryaraq-llu [weather directions]", + "front.video_caption_mp3_url": "", + "precipitation.word": "", + "precipitation.word_mp3_url": "", + "precipitation.definition": "", + "precipitation.definition_mp3_url": "", + "precipitation.image_caption": "aniu [snow on ground]", + "precipitation.image_caption_mp3_url": "", + "precipitation.video_caption": "natquigem akuliini [in the midst of the snow]", + "precipitation.video_caption_mp3_url": "", + "wind direction.word": "", + "wind direction.word_mp3_url": "", + "wind direction.definition": "", + "wind direction.definition_mp3_url": "", + "wind direction.image_caption": "anuqessuun [any device used in the wind, such as a windsock]", + "wind direction.image_caption_mp3_url": "", + "wind direction.video_caption": "anuqessuun [any device used in the wind, such as a windsock]", + "wind direction.video_caption_mp3_url": "", + "air moisture.word": "", + "air moisture.word_mp3_url": "", + "air moisture.definition": "", + "air moisture.definition_mp3_url": "", + "air moisture.image_caption": "", + "air moisture.image_caption_mp3_url": "", + "air moisture.video_caption": "", + "air moisture.video_caption_mp3_url": "", + "aggregation.word": "", + "aggregation.word_mp3_url": "", + "aggregation.definition": "", + "aggregation.definition_mp3_url": "", + "aggregation.image_caption": "", + "aggregation.image_caption_mp3_url": "", + "aggregation.video_caption": "", + "aggregation.video_caption_mp3_url": "", + "abstraction.word": "", + "abstraction.word_mp3_url": "", + "abstraction.definition": "", + "abstraction.definition_mp3_url": "", + "abstraction.image_caption": "", + "abstraction.image_caption_mp3_url": "", + "abstraction.video_caption": "", + "abstraction.video_caption_mp3_url": "", + "main_prompt_mp3_url": "", + "write_definition_mp3_url": "" + } + } +} diff --git a/src/public/offline-activities/glossary-test-v1.json b/src/public/offline-activities/glossary-test-v1.json index c931cf1d..2a8c6765 100644 --- a/src/public/offline-activities/glossary-test-v1.json +++ b/src/public/offline-activities/glossary-test-v1.json @@ -66,16 +66,16 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"glossary-files/alaska.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { - "name": "Glossary (test offline saves)", - "url": "https://glossary-plugin.concord.org/branch/176579659-add-offline-saves/plugin.js", + "name": "Glossary (test offline saves with language switcher)", + "url": "https://glossary-plugin.concord.org/branch/177305115-add-language-switcher/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/branch/176579659-add-offline-saves/manifest.json", + "json_url": "https://glossary-plugin.concord.org/branch/177305115-add-language-switcher/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-manifests/glossary-test-v1.json b/src/public/offline-manifests/glossary-test-v1.json index 7d85ffbf..66180776 100644 --- a/src/public/offline-manifests/glossary-test-v1.json +++ b/src/public/offline-manifests/glossary-test-v1.json @@ -59,9 +59,8 @@ "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ.woff2", "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ.woff2", "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXg.woff2", - "models-resources/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json", "models-resources/glossary-plugin/branch/176579659-add-offline-saves/manifest.json", "models-resources/glossary-plugin/branch/176579659-add-offline-saves/plugin.js", - "models-resources/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json" + "glossary-files/alaska.json" ] } \ No newline at end of file From 2e742972bec6b428dfac8195690ad08dca2b7138 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Sun, 28 Mar 2021 13:49:58 -0400 Subject: [PATCH 149/242] Dropped down to two translations in alaska glossary --- src/public/glossary-files/alaska.json | 102 +------------------------- 1 file changed, 1 insertion(+), 101 deletions(-) diff --git a/src/public/glossary-files/alaska.json b/src/public/glossary-files/alaska.json index cd52a299..3b458232 100644 --- a/src/public/glossary-files/alaska.json +++ b/src/public/glossary-files/alaska.json @@ -99,7 +99,7 @@ ], "autoShowMediaInPopup": true, "translations": { - "mi": { + "ik": { "weather.word": "", "weather.word_mp3_url": "", "weather.definition": "", @@ -199,106 +199,6 @@ "main_prompt_mp3_url": "", "write_definition_mp3_url": "" }, - "mr": { - "weather.word": "", - "weather.word_mp3_url": "", - "weather.definition": "", - "weather.definition_mp3_url": "", - "weather.image_caption": "Ngi'egh ndadz dixet'a?", - "weather.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/How_is_the_weather_Ngieghndadzdixeta.mp3", - "weather.video_caption": "Ngi'egh ndadz dixet'a?", - "weather.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_Is_it_doing_outside_Ngieghndadzdixeta16.mp3", - "decomposition.word": "", - "decomposition.word_mp3_url": "", - "decomposition.definition": "", - "decomposition.definition_mp3_url": "", - "decomposition.image_caption": "", - "decomposition.image_caption_mp3_url": "", - "decomposition.video_caption": "Diggiynetrit iy.", - "decomposition.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Diggiynetritiy_He_broke_it.mp3", - "pattern recognition.word": "", - "pattern recognition.word_mp3_url": "", - "pattern recognition.definition": "", - "pattern recognition.definition_mp3_url": "", - "pattern recognition.image_caption": "Ghoghoy yigidighoy", - "pattern recognition.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Pattern_Ghoghoyyigidighoy.mp3", - "pattern recognition.video_caption": "Gon ghoghoy yigidighoy axa ditast'eł. ", - "pattern recognition.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/I_am_going_to_use_this_patttern_Gon%20ghoghoy_yigidighoy_axa_ditast%27e%C5%82.%20.mp3", - "extrapolation.word": "", - "extrapolation.word_mp3_url": "", - "extrapolation.definition": "", - "extrapolation.definition_mp3_url": "", - "extrapolation.image_caption": "Ndadz chenh.", - "extrapolation.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_is_next_Ndadzchenh.mp3", - "extrapolation.video_caption": "Ndadz chenh.", - "extrapolation.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_is_next_Ndadzchenh.mp3", - "interpolation.word": "", - "interpolation.word_mp3_url": "", - "interpolation.definition": "", - "interpolation.definition_mp3_url": "", - "interpolation.image_caption": "Xivitotuq", - "interpolation.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/middle_Xivitotuq.mp3", - "interpolation.video_caption": "Vitotuq, dotuq", - "interpolation.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/between_middle_Vitotuq.mp3", - "prediction.word": "", - "prediction.word_mp3_url": "", - "prediction.definition": "", - "prediction.definition_mp3_url": "", - "prediction.image_caption": "Ndadz chenh", - "prediction.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", - "prediction.video_caption": "Ndadz chenh", - "prediction.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", - "front.word": "", - "front.word_mp3_url": "", - "front.definition": "", - "front.definition_mp3_url": "", - "front.image_caption": "", - "front.image_caption_mp3_url": "", - "front.video_caption": "", - "front.video_caption_mp3_url": "", - "precipitation.word": "", - "precipitation.word_mp3_url": "", - "precipitation.definition": "", - "precipitation.definition_mp3_url": "", - "precipitation.image_caption": "Xiyh tux iłyoth.", - "precipitation.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It_snows_during_the_winter_Xiyhtuxiyoth.mp3", - "precipitation.video_caption": "Iłyoth.", - "precipitation.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It%27s%20snowing_Iyoth.mp3", - "wind direction.word": "", - "wind direction.word_mp3_url": "", - "wind direction.definition": "", - "wind direction.definition_mp3_url": "", - "wind direction.image_caption": "Edodz xandithitr'iyh. Edodz xanxidithitr'iyh.", - "wind direction.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_South_wind_is_starting_to_blow_Edodzxandithitriyh.mp3", - "wind direction.video_caption": "Dong tthedz xidetr'iyh.", - "wind direction.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Wind_is_coming_from_the_west_Dongthedzxidetriyh.mp3", - "air moisture.word": "", - "air moisture.word_mp3_url": "", - "air moisture.definition": "", - "air moisture.definition_mp3_url": "", - "air moisture.image_caption": "Getiy eq ngichox. ", - "air moisture.image_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_fog_is_thick_Getiyeqngichox.mp3", - "air moisture.video_caption": "Getiy eq xelanh. ", - "air moisture.video_caption_mp3_url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/There_is_too_much_fog_Getiyeqxelanh.mp3", - "aggregation.word": "", - "aggregation.word_mp3_url": "", - "aggregation.definition": "", - "aggregation.definition_mp3_url": "", - "aggregation.image_caption": "", - "aggregation.image_caption_mp3_url": "", - "aggregation.video_caption": "", - "aggregation.video_caption_mp3_url": "", - "abstraction.word": "", - "abstraction.word_mp3_url": "", - "abstraction.definition": "", - "abstraction.definition_mp3_url": "", - "abstraction.image_caption": "", - "abstraction.image_caption_mp3_url": "", - "abstraction.video_caption": "", - "abstraction.video_caption_mp3_url": "", - "main_prompt_mp3_url": "", - "write_definition_mp3_url": "" - }, "gv": { "weather.word": "", "weather.word_mp3_url": "", From d1ba5b8ab4874199767bb91c0b43304039ab667a Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sun, 28 Mar 2021 16:11:52 -0400 Subject: [PATCH 150/242] status messages while caching typescript up to es2020 to support Promise.allSettled switch from onAllUrlsCached and onAllUrlsCacheFailed to a single onCachingFinished previously a failure would happen and immediately trigger onAllUrlsCacheFailed but really from a UI point of view we just want to know when the caching is complete we know the status of each url from onUrlCached and onUrlCacheFailed add service worker messages for URL_CACHED, URL_CACHE_FAILED, and CACHING_FINISHED --- .../offline-manifest-loading-modal.tsx | 5 +- src/offline-manifest-api.test.ts | 9 +-- src/offline-manifest-api.ts | 73 ++++++++++++++----- src/service-worker.ts | 31 ++++++-- tsconfig.json | 5 ++ 5 files changed, 89 insertions(+), 34 deletions(-) diff --git a/src/components/offline-manifest-loading-modal.tsx b/src/components/offline-manifest-loading-modal.tsx index 60d9467c..9591b969 100644 --- a/src/components/offline-manifest-loading-modal.tsx +++ b/src/components/offline-manifest-loading-modal.tsx @@ -47,12 +47,9 @@ export class OfflineManifestLoadingModal extends React.Component console.error("Failed to cache:", url); this.setState((prevState) => ({urlsFailedToCache: prevState.urlsFailedToCache.concat(url)})); }, - onAllUrlsCached: () => { + onCachingFinished: () => { this.setState({caching: false}); this.checkForAutoClose(this.props); - }, - onAllUrlsCacheFailed: (err) => { - this.setState({caching: false}); } }); } diff --git a/src/offline-manifest-api.test.ts b/src/offline-manifest-api.test.ts index ea0884cb..4f6ddb25 100644 --- a/src/offline-manifest-api.test.ts +++ b/src/offline-manifest-api.test.ts @@ -52,14 +52,12 @@ describe("offline manifest api", () => { const onCachingStarted = jest.fn(); const onUrlCached = jest.fn(); const onUrlCacheFailed = jest.fn(); - const onAllUrlsCached = jest.fn(); - const onAllUrlsCacheFailed = jest.fn(); + const onCachingFinished = jest.fn(); const resp = cacheOfflineManifest({ offlineManifest: testManifest, onCachingStarted, onUrlCached, - onAllUrlsCacheFailed, - onAllUrlsCached, + onCachingFinished, onUrlCacheFailed }); expect(resp).toBeInstanceOf(Promise); @@ -71,9 +69,8 @@ describe("offline manifest api", () => { "http://example.com/cache-list-item-2" ]); expect(onUrlCached).toHaveBeenCalledTimes(4); - expect(onAllUrlsCached).toHaveBeenCalledTimes(1); + expect(onCachingFinished).toHaveBeenCalledTimes(1); expect(onUrlCacheFailed).not.toHaveBeenCalled(); - expect(onAllUrlsCacheFailed).not.toHaveBeenCalled(); done(); }); }); diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index bfc94e2e..12b3c8aa 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -39,27 +39,65 @@ export interface CacheOfflineManifestOptions { onCachingStarted: (urls: string[]) => void; onUrlCached: (url: string) => void; onUrlCacheFailed: (url: string, err: any) => void; - onAllUrlsCached: () => void; - onAllUrlsCacheFailed: (errs: any) => void; + onCachingFinished: () => void; } +/* +We can't use the built in messageSW because we want to receive multiple +messges from the channel. + +function messageSW(sw: ServiceWorker, data: {}): Promise { + return new Promise((resolve) => { + const messageChannel = new MessageChannel(); + messageChannel.port1.onmessage = (event: MessageEvent) => { + resolve(event.data); + }; + sw.postMessage(data, [messageChannel.port2]); + }); +} +*/ +const cacheUrlsWithProgress = async (options: CacheOfflineManifestOptions) => { + const {workbox, offlineManifest, onCachingStarted, onUrlCached, onUrlCacheFailed, onCachingFinished} = options; + const urls = offlineManifest.activities.map(a => a.contentUrl).concat(offlineManifest.cacheList); + + if (!workbox) { + return; + } + + onCachingStarted(urls); + + const sw = await workbox.getSW(); + const messageChannel = new MessageChannel(); + + messageChannel.port1.onmessage = (event: MessageEvent) => { + // Handle the various messages from the channel + if (event.data?.type === "URL_CACHED") { + console.log("URL_CACHED", event.data.payload); + onUrlCached(event.data.payload?.url); + } else if (event.data?.type === "URL_CACHE_FAILED") { + console.error("URL_CACHE_FAILED", event.data.payload); + onUrlCacheFailed(event.data.payload?.url, event.data.payload?.error); + } else if (event.data?.type === "CACHING_FINISHED") { + console.log("CACHING_FINISHED"); + onCachingFinished(); + // TODO having a promise here that we can resolve could be helpful + } + }; + + sw.postMessage({type: "CACHE_URLS_WITH_PROGRESS", payload: {urlsToCache: urls}}, + [messageChannel.port2]); + + // We might need to block until complete so the messageChannel doesn't get + // garbage collected, but it isn't simple to just do an await here + // so maybe we can get by without blocking. +}; + export const cacheOfflineManifest = (options: CacheOfflineManifestOptions) => { - const {workbox, offlineManifest, onCachingStarted, onUrlCached, onUrlCacheFailed, onAllUrlsCached, onAllUrlsCacheFailed} = options; + const {workbox, offlineManifest, onCachingStarted, onUrlCached, onUrlCacheFailed, onCachingFinished} = options; const urls = offlineManifest.activities.map(a => a.contentUrl).concat(offlineManifest.cacheList); if (workbox) { - onCachingStarted(urls); - // TODO: add handling of messages from service worker indicating the status - return workbox.messageSW({type: "CACHE_URLS_WITH_PROGRESS", payload: {urlsToCache: urls}}) - .then((response: any) => { - console.log("url caching finished", response); - onAllUrlsCached(); - }) - .catch((err) => { - // I'm not sure it currently returns an error - console.error("url caching failed"); - onAllUrlsCacheFailed(err); - }); + return cacheUrlsWithProgress(options); } else { const loadingPromises = urls.map(url => { return fetch(url, {mode: "cors"}) @@ -67,9 +105,8 @@ export const cacheOfflineManifest = (options: CacheOfflineManifestOptions) => { .catch(err => onUrlCacheFailed(url, err)); }); onCachingStarted(urls); - return Promise.all(loadingPromises) - .then(() => onAllUrlsCached()) - .catch(err => onAllUrlsCacheFailed(err)); + return Promise.allSettled(loadingPromises) + .then(() => onCachingFinished()); } }; diff --git a/src/service-worker.ts b/src/service-worker.ts index a17ce724..faa6ade4 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -175,10 +175,11 @@ function addCacheListener() { self.addEventListener("message", ((event: ExtendableMessageEvent) => { if (event.data && event.data.type === "CACHE_URLS_WITH_PROGRESS") { const {payload}: CacheURLsMessageData = event.data; + const messagePort: MessagePort | undefined = event.ports?.[0]; console.log(`Caching URLs from the window`, payload.urlsToCache); - const requestPromises = Promise.all(payload.urlsToCache.map( + const requestPromises = Promise.allSettled(payload.urlsToCache.map( (entry: string | [string, RequestInit?]) => { if (typeof entry === "string") { entry = [entry]; @@ -189,19 +190,37 @@ function addCacheListener() { // this way we get WorkBoxes features of stragegies without adding this // network stragegy as a way that handles fetch events so regular // page requests won't trigger network requests - return networkFirst.handle({request, event}); + const responsePromise = networkFirst.handle({request, event}); + + if (messagePort) { + responsePromise.then(response => { + // TODO include some response info in the message to provide more info + messagePort.postMessage({type: "URL_CACHED", payload: {url: request.url}}); + }).catch(error => { + // This is assuming we can pass the error through + messagePort.postMessage({type: "URL_CACHE_FAILED", payload: {url: request.url, error}}); + }); + } + + return responsePromise; // TODO(philipwalton): TypeScript errors without this typecast for // some reason (probably a bug). The real type here should work but // doesn't: `Array | undefined>`. }) as any[]); // TypeScript + // This is needed to keep the service worker alive while it is fetching + // otherwise the browser can aggresively stop the worker. + // This might not actually be needed because the event is being passed + // to the networkFirst handler too, which ought to call waitUntil itself event.waitUntil(requestPromises); - // TODO: update this so it sends back status as each request is made - // If a MessageChannel was used, reply to the message on success. - if (event.ports?.[0]) { - requestPromises.then(() => event.ports[0].postMessage(true)); + if (messagePort) { + requestPromises.then(() => { + // We are using allSettled so if there is an error the caching will + // continue + messagePort.postMessage({type: "CACHING_FINISHED"}); + }); } } }) as EventListener); diff --git a/tsconfig.json b/tsconfig.json index c1919dcc..8469f981 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,6 +16,11 @@ "dom", "es5", "es2015", + "es2016", + "es2017", + "es2018", + "es2019", + "es2020", "webworker" ] }, From fc0855b4928c78654205705f4b76b8f9d633149f Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sun, 28 Mar 2021 20:00:31 -0400 Subject: [PATCH 151/242] Allow connections to learn and learn.staging portals The old code didn't hav this exception so was likely caching some of the portal responses. --- src/service-worker.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/service-worker.ts b/src/service-worker.ts index faa6ade4..d97d5879 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -9,13 +9,14 @@ import { CacheOnly, NetworkFirst } from "workbox-strategies"; import { RangeRequestsPlugin } from "workbox-range-requests"; const ignoredGets: RegExp[] = [ - /\/sockjs-node\/info/, // webpack-dev-server - /\.hot-update\./, // webpack-dev-server - /\/firestore\.googleapis\.com\//, // firebase - /\/install\.html/, // installer - /\/assets\/install\.*/, // installer - /\/app-manifest\.js/, // installer - /\/offline-manifests\/.*/ // built in manifests + /\/sockjs-node\/info/, // webpack-dev-server + /\.hot-update\./, // webpack-dev-server + /\/firestore\.googleapis\.com\//, // firebase + /\/install\.html/, // installer + /\/assets\/install\.*/, // installer + /\/app-manifest\.js/, // installer + /\/offline-manifests\/.*/, // built in manifests + /https:\/\/learn\.(staging\.)?concord\.org\/.*/ // portal apis when launached from the portal ]; // FIXME: we need to ignore some URL parameters but not others and it is From f8d045400632706663518384dbbea57938eb3861 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sun, 28 Mar 2021 22:02:16 -0400 Subject: [PATCH 152/242] cache application on first load With this change the install page will do the full install without needing a reload. It will start caching the latest application and the optional passed in offline manifest. The cacheUrlsWithProgress function is now exported so the install app can use it to load the application files --- src/components/install-app.tsx | 46 ++++++++++++++++++++++------------ src/offline-manifest-api.ts | 37 +++++++++++++-------------- 2 files changed, 47 insertions(+), 36 deletions(-) diff --git a/src/components/install-app.tsx b/src/components/install-app.tsx index 6a3482d9..df0a0321 100644 --- a/src/components/install-app.tsx +++ b/src/components/install-app.tsx @@ -2,7 +2,8 @@ import React from "react"; import { isOfflineHost } from "../utilities/host-utils"; import { Workbox } from "workbox-window/index"; import queryString from "query-string"; -import { getOfflineManifest, saveOfflineManifestToOfflineActivities } from "../offline-manifest-api"; +import { getOfflineManifest, saveOfflineManifestToOfflineActivities, + cacheUrlsWithProgress } from "../offline-manifest-api"; import { OfflineManifest } from "../types"; import { OfflineManifestLoadingModal } from "./offline-manifest-loading-modal"; import { queryValue } from "../utilities/url-query"; @@ -51,6 +52,13 @@ export class InstallApp extends React.PureComponent { this.wb.messageSkipWaiting(); }); + navigator.serviceWorker.ready.then(registration => { + // Cache the application as soon as there is an active service worker + // it doesn't matter if the serivce worker is controlling the page because + // the fetches are done by the service worker not the page + this.cacheApplication(); + }); + this.wb.register().then((_registration) => { console.log("Workbox register() promise resolved", _registration); @@ -67,14 +75,6 @@ export class InstallApp extends React.PureComponent { .catch(() => { this.setState({serviceWorkerVersionInfo: "No response!"}); }); - - if (navigator.serviceWorker.controller) { - // Now that we are sending this message to the service worker instead of - // using a fetch - this.cacheApplication(); - } else { - console.log("service worker is not controlling page yet so we can't install files."); - } }); if (offlineManifestId) { @@ -115,13 +115,27 @@ export class InstallApp extends React.PureComponent { } }); - this.wb.messageSW({type: "CACHE_URLS_WITH_PROGRESS", payload: {urlsToCache: appUrls}}) - .then((response: any) => { - console.log("url caching finished", response); - }) - .catch(() => { - console.error("url caching failed"); - }); + // It is not clear why, but it seems like the service worker only handles one + // CACHE_URLS_WITH_PROGRESS at time. The next message seems to get queued + // until the first is complete. Perhaps because it calls event.waitUntil + // It seems to do the application cache first and the offline manifest cache + // TODO: show something in the UI while this is happening + cacheUrlsWithProgress({ + workbox: this.wb, + urls: appUrls, + onCachingStarted: (urls) => { + console.log("stared caching application"); + }, + onUrlCached: (url) => { + console.log(`cached url ${url}`); + }, + onUrlCacheFailed: (url, err) => { + console.error(`failed to cache ${url}`, err); + }, + onCachingFinished: () => { + console.log("finished caching application"); + }, + }); } render() { diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index 12b3c8aa..50ba521f 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -42,27 +42,23 @@ export interface CacheOfflineManifestOptions { onCachingFinished: () => void; } -/* -We can't use the built in messageSW because we want to receive multiple -messges from the channel. - -function messageSW(sw: ServiceWorker, data: {}): Promise { - return new Promise((resolve) => { - const messageChannel = new MessageChannel(); - messageChannel.port1.onmessage = (event: MessageEvent) => { - resolve(event.data); - }; - sw.postMessage(data, [messageChannel.port2]); - }); +export interface CacheUrlsOptions { + workbox: Workbox; + urls: string[]; + onCachingStarted: (urls: string[]) => void; + onUrlCached: (url: string) => void; + onUrlCacheFailed: (url: string, err: any) => void; + onCachingFinished: () => void; } -*/ -const cacheUrlsWithProgress = async (options: CacheOfflineManifestOptions) => { - const {workbox, offlineManifest, onCachingStarted, onUrlCached, onUrlCacheFailed, onCachingFinished} = options; - const urls = offlineManifest.activities.map(a => a.contentUrl).concat(offlineManifest.cacheList); - if (!workbox) { - return; - } +/* + We can't use the built in Workbox CACHE_URLS message because it doesn't provide + progress messages. + We can't use the built in Workbox messageSW because it only allows a single + response on the MessageChannel indicating that it completed. +*/ +export const cacheUrlsWithProgress = async (options: CacheUrlsOptions) => { + const {workbox, urls, onCachingStarted, onUrlCached, onUrlCacheFailed, onCachingFinished} = options; onCachingStarted(urls); @@ -97,7 +93,8 @@ export const cacheOfflineManifest = (options: CacheOfflineManifestOptions) => { const urls = offlineManifest.activities.map(a => a.contentUrl).concat(offlineManifest.cacheList); if (workbox) { - return cacheUrlsWithProgress(options); + const cacheUrlsOptions = {workbox, urls, onCachingStarted, onUrlCached, onUrlCacheFailed, onCachingFinished}; + return cacheUrlsWithProgress(cacheUrlsOptions); } else { const loadingPromises = urls.map(url => { return fetch(url, {mode: "cors"}) From f1e30a0fb0522262d91069af89b7b0623a8272cd Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sun, 28 Mar 2021 23:52:22 -0400 Subject: [PATCH 153/242] FIXME: shim Promise.allSettled The current config seems broken if I understand it right. Typescript is configured to allow any javascript apis and syntax up to ES2020. But there isn't some automatic tool that is adding polyfills for this support. --- package-lock.json | 329 ++++++++++++++++++++++++++++++++++-- package.json | 3 +- src/global.d.ts | 1 + src/offline-manifest-api.ts | 4 + src/service-worker.ts | 4 + 5 files changed, 329 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index cdd96db7..68ff428a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7653,6 +7653,96 @@ "function-bind": "^1.1.1" } }, + "array.prototype.map": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.3.tgz", + "integrity": "sha512-nNcb30v0wfDyIe26Yif3PcV1JXQp4zEeEfupG7L4SRjnD6HLbO5b2a7eVSba53bOx4YCHYMBHt+Fp4vYstneRA==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" + } + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" + }, + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + } + } + }, "arrify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", @@ -8815,6 +8905,15 @@ "write-file-atomic": "^3.0.0" } }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -11651,11 +11750,45 @@ "string.prototype.trimright": "^2.1.1" } }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "es-get-iterator": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", + "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.0", + "has-symbols": "^1.0.1", + "is-arguments": "^1.1.0", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "dependencies": { + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "requires": { + "call-bind": "^1.0.0" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -13408,6 +13541,16 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, "get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", @@ -13761,7 +13904,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -13783,6 +13925,11 @@ } } }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -14607,6 +14754,11 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-bigint": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==" + }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -14631,8 +14783,7 @@ "is-callable": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" }, "is-ci": { "version": "2.0.0", @@ -14666,8 +14817,7 @@ "is-date-object": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" }, "is-descriptor": { "version": "0.1.6", @@ -14744,11 +14894,21 @@ "is-path-inside": "^3.0.1" } }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" + }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -14758,8 +14918,7 @@ "is-number-object": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", - "dev": true + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==" }, "is-obj": { "version": "1.0.1", @@ -14848,6 +15007,11 @@ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -14856,8 +15020,7 @@ "is-string": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" }, "is-subset": { "version": "0.1.1", @@ -14869,7 +15032,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, "requires": { "has-symbols": "^1.0.1" } @@ -15142,6 +15304,20 @@ "istanbul-lib-report": "^3.0.0" } }, + "iterate-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", + "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==" + }, + "iterate-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", + "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", + "requires": { + "es-get-iterator": "^1.0.2", + "iterate-iterator": "^1.0.1" + } + }, "jest": { "version": "26.4.2", "resolved": "https://registry.npmjs.org/jest/-/jest-26.4.2.tgz", @@ -18971,6 +19147,97 @@ "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" }, + "promise.allsettled": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.4.tgz", + "integrity": "sha512-o73CbvQh/OnPFShxHcHxk0baXR2a1m4ozb85ha0H14VEoi/EJJLa9mnPfEWJx9RjA9MLfhdjZ8I6HhWtBa64Ag==", + "requires": { + "array.prototype.map": "^1.0.3", + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.0.2", + "iterate-value": "^1.0.2" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" + } + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" + }, + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + } + } + }, "prompts": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", @@ -22470,6 +22737,24 @@ "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", "dev": true }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + } + } + }, "undeclared-identifiers": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", @@ -23925,6 +24210,28 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "dependencies": { + "is-boolean-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "requires": { + "call-bind": "^1.0.0" + } + } + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", diff --git a/package.json b/package.json index de69a248..2952078e 100644 --- a/package.json +++ b/package.json @@ -165,6 +165,7 @@ "jquery-ui": "^1.12.1", "jsonwebtoken": "^8.5.1", "mobx": "^6.0.4", + "promise.allsettled": "^1.0.4", "query-string": "^6.13.2", "react": "^16.13.1", "react-dom": "^16.13.1", @@ -173,8 +174,8 @@ "shutterbug": "^1.3.0", "superagent": "^6.1.0", "workbox-precaching": "^6.0.2", - "workbox-webpack-plugin": "^6.0.2", "workbox-range-requests": "^6.0.2", + "workbox-webpack-plugin": "^6.0.2", "workbox-window": "^6.0.2" } } diff --git a/src/global.d.ts b/src/global.d.ts index b32f42c1..acd74b7e 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -2,3 +2,4 @@ declare module "*.png"; declare module "*.svg"; declare module "iframe-phone"; declare module "shutterbug"; +declare module "promise.allsettled"; diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index 50ba521f..c61c19f9 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -2,6 +2,10 @@ import { dexieStorage } from "./storage/dexie-storage"; import { OfflineActivity, OfflineManifest, OfflineManifestActivity } from "./types"; import { Workbox } from "workbox-window/index"; +// FIXME: shouldn't we use something like babel-presets for this? +import { allSettled } from "promise.allsettled"; +allSettled.shim(); + export interface OfflineManifestAuthoringData { activities: OfflineManifestActivity[]; cacheList: string[] diff --git a/src/service-worker.ts b/src/service-worker.ts index d97d5879..2af9f5f9 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -8,6 +8,10 @@ import { CacheOnly, NetworkFirst } from "workbox-strategies"; // import { CacheableResponsePlugin } from "workbox-cacheable-response"; import { RangeRequestsPlugin } from "workbox-range-requests"; +// FIXME: shouldn't we use something like babel-presets for this? +import { allSettled } from "promise.allsettled"; +allSettled.shim(); + const ignoredGets: RegExp[] = [ /\/sockjs-node\/info/, // webpack-dev-server /\.hot-update\./, // webpack-dev-server From 6b75ace019053900f9cfc2fe125eb526135d2248 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 00:08:03 -0400 Subject: [PATCH 154/242] switch to ts-polyfill this seems a little better, but it did double the size of the service-worker.js file I switched the tsconfig target to es2015 which only shaved 2kb off of service-worker.js --- package-lock.json | 344 +++--------------------------------- package.json | 2 +- src/index.tsx | 1 + src/install.tsx | 1 + src/offline-manifest-api.ts | 4 - src/service-worker.ts | 6 +- tsconfig.json | 9 +- 7 files changed, 33 insertions(+), 334 deletions(-) diff --git a/package-lock.json b/package-lock.json index 68ff428a..46e27d21 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7653,96 +7653,6 @@ "function-bind": "^1.1.1" } }, - "array.prototype.map": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.3.tgz", - "integrity": "sha512-nNcb30v0wfDyIe26Yif3PcV1JXQp4zEeEfupG7L4SRjnD6HLbO5b2a7eVSba53bOx4YCHYMBHt+Fp4vYstneRA==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.5" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" - } - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" - }, - "is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - } - } - }, "arrify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", @@ -8905,15 +8815,6 @@ "write-file-atomic": "^3.0.0" } }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -11750,45 +11651,11 @@ "string.prototype.trimright": "^2.1.1" } }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-get-iterator": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", - "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.0", - "has-symbols": "^1.0.1", - "is-arguments": "^1.1.0", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - }, - "dependencies": { - "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "requires": { - "call-bind": "^1.0.0" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - } - } - }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -13541,16 +13408,6 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, "get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", @@ -13904,6 +13761,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -13925,11 +13783,6 @@ } } }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -14754,11 +14607,6 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, - "is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", - "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==" - }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -14783,7 +14631,8 @@ "is-callable": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true }, "is-ci": { "version": "2.0.0", @@ -14817,7 +14666,8 @@ "is-date-object": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true }, "is-descriptor": { "version": "0.1.6", @@ -14894,21 +14744,11 @@ "is-path-inside": "^3.0.1" } }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" - }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -14918,7 +14758,8 @@ "is-number-object": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==" + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "dev": true }, "is-obj": { "version": "1.0.1", @@ -15007,11 +14848,6 @@ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -15020,7 +14856,8 @@ "is-string": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true }, "is-subset": { "version": "0.1.1", @@ -15032,6 +14869,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, "requires": { "has-symbols": "^1.0.1" } @@ -15304,20 +15142,6 @@ "istanbul-lib-report": "^3.0.0" } }, - "iterate-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", - "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==" - }, - "iterate-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", - "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", - "requires": { - "es-get-iterator": "^1.0.2", - "iterate-iterator": "^1.0.1" - } - }, "jest": { "version": "26.4.2", "resolved": "https://registry.npmjs.org/jest/-/jest-26.4.2.tgz", @@ -19147,97 +18971,6 @@ "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" }, - "promise.allsettled": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.4.tgz", - "integrity": "sha512-o73CbvQh/OnPFShxHcHxk0baXR2a1m4ozb85ha0H14VEoi/EJJLa9mnPfEWJx9RjA9MLfhdjZ8I6HhWtBa64Ag==", - "requires": { - "array.prototype.map": "^1.0.3", - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.0.2", - "iterate-value": "^1.0.2" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" - } - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" - }, - "is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - } - } - }, "prompts": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", @@ -22644,6 +22377,21 @@ "yn": "3.1.1" } }, + "ts-polyfill": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/ts-polyfill/-/ts-polyfill-3.8.2.tgz", + "integrity": "sha512-x0M4kx+FObO88sedZ1zld+YX+GvcgaYSVnHspNftI4GRT86FTBy41O89ztKfvue0XtaKpb8WBpPZsh82hy3Ncw==", + "requires": { + "core-js": "^3.6.4" + }, + "dependencies": { + "core-js": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz", + "integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==" + } + } + }, "tslib": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", @@ -22737,24 +22485,6 @@ "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", "dev": true }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" - } - } - }, "undeclared-identifiers": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", @@ -24210,28 +23940,6 @@ "isexe": "^2.0.0" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "dependencies": { - "is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", - "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", - "requires": { - "call-bind": "^1.0.0" - } - } - } - }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", diff --git a/package.json b/package.json index 2952078e..98ec40c6 100644 --- a/package.json +++ b/package.json @@ -165,7 +165,6 @@ "jquery-ui": "^1.12.1", "jsonwebtoken": "^8.5.1", "mobx": "^6.0.4", - "promise.allsettled": "^1.0.4", "query-string": "^6.13.2", "react": "^16.13.1", "react-dom": "^16.13.1", @@ -173,6 +172,7 @@ "react-share": "^4.2.1", "shutterbug": "^1.3.0", "superagent": "^6.1.0", + "ts-polyfill": "^3.8.2", "workbox-precaching": "^6.0.2", "workbox-range-requests": "^6.0.2", "workbox-webpack-plugin": "^6.0.2", diff --git a/src/index.tsx b/src/index.tsx index 7317b4f8..abb9acd6 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,3 +1,4 @@ +import "ts-polyfill"; import React from "react"; import ReactDOM from "react-dom"; import { App } from "./components/app"; diff --git a/src/install.tsx b/src/install.tsx index 380c2450..a03b0d6a 100644 --- a/src/install.tsx +++ b/src/install.tsx @@ -1,3 +1,4 @@ +import "ts-polyfill"; import React from "react"; import ReactDOM from "react-dom"; import { InstallApp } from "./components/install-app"; diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index c61c19f9..50ba521f 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -2,10 +2,6 @@ import { dexieStorage } from "./storage/dexie-storage"; import { OfflineActivity, OfflineManifest, OfflineManifestActivity } from "./types"; import { Workbox } from "workbox-window/index"; -// FIXME: shouldn't we use something like babel-presets for this? -import { allSettled } from "promise.allsettled"; -allSettled.shim(); - export interface OfflineManifestAuthoringData { activities: OfflineManifestActivity[]; cacheList: string[] diff --git a/src/service-worker.ts b/src/service-worker.ts index 2af9f5f9..791bf7c4 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -1,3 +1,5 @@ +import "ts-polyfill"; + declare const self: ServiceWorkerGlobalScope; const versionInfo = "__SERVICE_WORKER_VERSION_INFO__"; // replaced by webpack using string-replace-loader @@ -8,10 +10,6 @@ import { CacheOnly, NetworkFirst } from "workbox-strategies"; // import { CacheableResponsePlugin } from "workbox-cacheable-response"; import { RangeRequestsPlugin } from "workbox-range-requests"; -// FIXME: shouldn't we use something like babel-presets for this? -import { allSettled } from "promise.allsettled"; -allSettled.shim(); - const ignoredGets: RegExp[] = [ /\/sockjs-node\/info/, // webpack-dev-server /\.hot-update\./, // webpack-dev-server diff --git a/tsconfig.json b/tsconfig.json index 8469f981..404c85e2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,7 +4,7 @@ "sourceMap": true, "noImplicitAny": true, "module": "commonjs", - "target": "es5", + "target": "es2015", "allowJs": true, "esModuleInterop": true, "resolveJsonModule": true, @@ -14,13 +14,8 @@ "jsx": "react", "lib": [ "dom", - "es5", "es2015", - "es2016", - "es2017", - "es2018", - "es2019", - "es2020", + "es2020.Promise", "webworker" ] }, From 721296f31df61483b868be7fc454a23c07678b49 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 00:30:56 -0400 Subject: [PATCH 155/242] try adding ts-polyfill to jest we are currently running node 10 on github actions node 10 doesn't have the Promise.allSettled --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 98ec40c6..d736c3c9 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,9 @@ "main": "index.js", "jest": { "testURL": "https://activity-player.unexisting.url.com", + "setupFiles": [ + "ts-polyfill" + ], "setupFilesAfterEnv": [ "src/setupTests.js" ], From 1391b889add5aaeadfc0ea03b601aa2c7dabc212 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 01:01:42 -0400 Subject: [PATCH 156/242] remove offlineManifest loading from application This is only handled by install now. Unfortunately this skips a test we used to have, of cacheOfflineManifest we'll need some mocking of the service worker bring that test back --- src/components/app.tsx | 21 +++------ .../offline-manifest-loading-modal.tsx | 2 +- src/offline-manifest-api.test.ts | 43 +++++++++---------- src/offline-manifest-api.ts | 18 ++------ 4 files changed, 30 insertions(+), 54 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 38b6e55f..08f44012 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -32,7 +32,6 @@ import { GlossaryPlugin } from "../components/activity-page/plugins/glossary-plu import { IdleDetector } from "../utilities/idle-detector"; import { Workbox } from "workbox-window/index"; import { getOfflineManifest, getOfflineManifestAuthoringData, getOfflineManifestAuthoringId, OfflineManifestAuthoringData, mergeOfflineManifestWithAuthoringData, saveOfflineManifestToOfflineActivities, setOfflineManifestAuthoringData, setOfflineManifestAuthoringId } from "../offline-manifest-api"; -import { OfflineManifestLoadingModal } from "./offline-manifest-loading-modal"; import { OfflineInstalling } from "./offline-installing"; import { OfflineActivities } from "./offline-activities"; import { OfflineNav } from "./offline-nav"; @@ -64,7 +63,6 @@ interface IncompleteQuestion { interface IState { activity?: Activity; offlineManifest?: OfflineManifest; - loadingOfflineManifest: boolean; currentPage: number; teacherEditionMode?: boolean; showThemeButtons?: boolean; @@ -113,7 +111,6 @@ export class App extends React.PureComponent { } const offlineManifestAuthoringId = offlineMode ? getOfflineManifestAuthoringId() : undefined; const offlineManifestId = offlineMode ? queryValue("offlineManifest") : undefined; - const loadingOfflineManifest = !!offlineManifestId; this.state = { currentPage: 0, @@ -128,7 +125,6 @@ export class App extends React.PureComponent { pluginsLoaded: false, errorType: null, idle: false, - loadingOfflineManifest, offlineMode, offlineManifestAuthoringActivities: [], offlineManifestAuthoringCacheList: [], @@ -214,7 +210,7 @@ export class App extends React.PureComponent { // TODO: we only allow cors requests, so it would be helpful to authors // if we checked whether the url can be requested with cors and if not // we notify the author about the invalid url - + // make sure all models-resources requests use the base folder const url = event.data.url.replace(/.*models-resources\//, "models-resources/"); let {offlineManifestAuthoringCacheList} = prevState; @@ -302,7 +298,7 @@ export class App extends React.PureComponent { async componentDidMount() { try { - const {offlineMode, offlineManifestId, offlineManifestAuthoringId, loadingOfflineManifest} = this.state; + const {offlineMode, offlineManifestId, offlineManifestAuthoringId } = this.state; let offlineManifestAuthoringData: OfflineManifestAuthoringData | undefined; if (offlineManifestAuthoringId) { @@ -364,7 +360,7 @@ export class App extends React.PureComponent { // Teacher Edition mode is equal to preview mode. RunKey won't be used and the data won't be persisted. const preview = queryValueBoolean("preview") || teacherEditionMode; - const newState: Partial = {activity, offlineManifest, loadingOfflineManifest, currentPage, showThemeButtons, showWarning, showSequenceIntro, sequence, teacherEditionMode, offlineManifestAuthoringId}; + const newState: Partial = {activity, offlineManifest, currentPage, showThemeButtons, showWarning, showSequenceIntro, sequence, teacherEditionMode, offlineManifestAuthoringId}; setDocumentTitle(activity, currentPage); // Initialize Storage provider @@ -446,14 +442,11 @@ export class App extends React.PureComponent { } private renderContent = () => { - const {offlineManifest, loadingOfflineManifest, showSequenceIntro, sequence, - username, offlineMode, showOfflineManifestInstallConfirmation, activity, + const {showSequenceIntro, sequence, + username, offlineMode, activity, serviceWorkerStatus} = this.state; if (offlineMode && serviceWorkerStatus !== "controlling") { return ; - } else if (offlineManifest && loadingOfflineManifest) { - // Rendering this has a side effect of actually loading the manifest files - return ; } else if (offlineMode) { return activity ? this.renderActivity() : ; } else if (showSequenceIntro) { @@ -741,10 +734,6 @@ export class App extends React.PureComponent { this.setState({ pluginsLoaded: true }); } - private handleCloseLoadingOfflineManifest = () => { - this.setState({loadingOfflineManifest: false}); - } - private addActivityToOfflineManifest = async (offlineManifestAuthoringId: string, activity: Activity, resourceUrl: string, contentUrl: string) => { if (offlineManifestAuthoringId && isNotSampleActivityUrl(contentUrl)) { diff --git a/src/components/offline-manifest-loading-modal.tsx b/src/components/offline-manifest-loading-modal.tsx index 9591b969..a2f91a30 100644 --- a/src/components/offline-manifest-loading-modal.tsx +++ b/src/components/offline-manifest-loading-modal.tsx @@ -9,7 +9,7 @@ interface IProps { offlineManifest: OfflineManifest; onClose?: () => void; showOfflineManifestInstallConfirmation: boolean; - workbox?: Workbox; + workbox: Workbox; } interface IState { diff --git a/src/offline-manifest-api.test.ts b/src/offline-manifest-api.test.ts index 4f6ddb25..cfec4193 100644 --- a/src/offline-manifest-api.test.ts +++ b/src/offline-manifest-api.test.ts @@ -28,7 +28,7 @@ describe("offline manifest api", () => { }); }); - it("handles #cacheOfflineManifest", (done) => { + it.todo("handles #cacheOfflineManifest", (done) => { const testManifest: OfflineManifest = { name: "Test Manifest", activities: [ @@ -48,31 +48,30 @@ describe("offline manifest api", () => { "http://example.com/cache-list-item-2" ] }; - fetch.mockResponse(""); const onCachingStarted = jest.fn(); const onUrlCached = jest.fn(); const onUrlCacheFailed = jest.fn(); const onCachingFinished = jest.fn(); - const resp = cacheOfflineManifest({ - offlineManifest: testManifest, - onCachingStarted, - onUrlCached, - onCachingFinished, - onUrlCacheFailed - }); - expect(resp).toBeInstanceOf(Promise); - resp!.then(() => { - expect(onCachingStarted).toHaveBeenCalledWith([ - "http://example.com/activity-1-content-url", - "http://example.com/activity-2-content-url", - "http://example.com/cache-list-item-1", - "http://example.com/cache-list-item-2" - ]); - expect(onUrlCached).toHaveBeenCalledTimes(4); - expect(onCachingFinished).toHaveBeenCalledTimes(1); - expect(onUrlCacheFailed).not.toHaveBeenCalled(); - done(); - }); + // const resp = cacheOfflineManifest({ + // offlineManifest: testManifest, + // onCachingStarted, + // onUrlCached, + // onCachingFinished, + // onUrlCacheFailed + // }); + // expect(resp).toBeInstanceOf(Promise); + // resp!.then(() => { + // expect(onCachingStarted).toHaveBeenCalledWith([ + // "http://example.com/activity-1-content-url", + // "http://example.com/activity-2-content-url", + // "http://example.com/cache-list-item-1", + // "http://example.com/cache-list-item-2" + // ]); + // expect(onUrlCached).toHaveBeenCalledTimes(4); + // expect(onCachingFinished).toHaveBeenCalledTimes(1); + // expect(onUrlCacheFailed).not.toHaveBeenCalled(); + // done(); + // }); }); it("handles #setOfflineManifestAuthoringId", () => { diff --git a/src/offline-manifest-api.ts b/src/offline-manifest-api.ts index 05e788f6..dbc4140a 100644 --- a/src/offline-manifest-api.ts +++ b/src/offline-manifest-api.ts @@ -34,7 +34,7 @@ export const getOfflineManifest = (id: string): Promise => { }; export interface CacheOfflineManifestOptions { - workbox?: Workbox; + workbox: Workbox; offlineManifest: OfflineManifest; onCachingStarted: (urls: string[]) => void; onUrlCached: (url: string) => void; @@ -91,20 +91,8 @@ export const cacheUrlsWithProgress = async (options: CacheUrlsOptions) => { export const cacheOfflineManifest = (options: CacheOfflineManifestOptions) => { const {workbox, offlineManifest, onCachingStarted, onUrlCached, onUrlCacheFailed, onCachingFinished} = options; const urls = offlineManifest.activities.map(a => a.contentUrl).concat(offlineManifest.cacheList); - - if (workbox) { - const cacheUrlsOptions = {workbox, urls, onCachingStarted, onUrlCached, onUrlCacheFailed, onCachingFinished}; - return cacheUrlsWithProgress(cacheUrlsOptions); - } else { - const loadingPromises = urls.map(url => { - return fetch(url, {mode: "cors", cache: "no-store"}) - .then(() => onUrlCached(url)) - .catch(err => onUrlCacheFailed(url, err)); - }); - onCachingStarted(urls); - return Promise.allSettled(loadingPromises) - .then(() => onCachingFinished()); - } + const cacheUrlsOptions = {workbox, urls, onCachingStarted, onUrlCached, onUrlCacheFailed, onCachingFinished}; + return cacheUrlsWithProgress(cacheUrlsOptions); }; export const OfflineManifestAuthoringIdKey = "offlineManifestAuthoringId"; From f0b7a477022d5dd3718fcd7dc3f2f70db786bda9 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 01:11:33 -0400 Subject: [PATCH 157/242] use it.skip instead of it.todo --- src/offline-manifest-api.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/offline-manifest-api.test.ts b/src/offline-manifest-api.test.ts index cfec4193..0568d4c6 100644 --- a/src/offline-manifest-api.test.ts +++ b/src/offline-manifest-api.test.ts @@ -28,7 +28,7 @@ describe("offline manifest api", () => { }); }); - it.todo("handles #cacheOfflineManifest", (done) => { + it.skip("handles #cacheOfflineManifest", (done) => { const testManifest: OfflineManifest = { name: "Test Manifest", activities: [ From 52a94ed10ed075ebdecf792e67277f5c371e5298 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 01:58:01 -0400 Subject: [PATCH 158/242] skip the disk cache when installing assets this works around an issue where images are loaded by another site without a CORS request. The response is stored in the disc cache. But the key is a simple URL and the value doesn't have the CORS headers. Now if the installer trys to load that asset it fails because the response (from the cache) doens't include the corredt cors headers. --- src/service-worker.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/service-worker.ts b/src/service-worker.ts index 791bf7c4..30c5f3b9 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -168,6 +168,12 @@ interface CacheURLsMessageData { function addCacheListener() { const networkFirst = new NetworkFirst({ cacheName: "cachedGets", + // Skip the disk cache when fetching + // This fixes a problem where a user visiting an online page with some + // of the offline assets in it will populate the disk cache with those + // assets. But they might be stored without CORS headers in the response + // which then breaks the request made here. + fetchOptions: {cache: "no-store"}, plugins: [ stripWbRevision, cleanIndexHtmlParams From 778718f8a481db0fcefe3aa98245964d6002a1f5 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 01:58:37 -0400 Subject: [PATCH 159/242] cleanup comment --- src/components/install-app.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/install-app.tsx b/src/components/install-app.tsx index df0a0321..c852479e 100644 --- a/src/components/install-app.tsx +++ b/src/components/install-app.tsx @@ -102,10 +102,10 @@ export class InstallApp extends React.PureComponent { // to the start_url in the manifest. // Not clear what the solution to that is yet. const appUrls = wbManifest.map((entry: {revision: null | string; url: string}) => { - // TODO we are ignoring the revisions for now, because they require moving this code into - // into the service worker so it know what revision to look for either when the actual page - // requests it, or when it is making the install request and then it should not include - // the revision param in the cached key + // Add Worbox's standard __WB_REVISION__ to the files. This won't actually be + // stored in the cache storage key but is used when fetching the asset. This prevents + // caching problems when the url is fetched. Chrome uses the disk cache to get + // these responses. if (entry.revision) { const parsedUrl = queryString.parseUrl(entry.url); parsedUrl.query.__WB_REVISION__ = entry.revision; From 3ae686bfa0505780fac70d07ebad04a981e80818 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 02:01:00 -0400 Subject: [PATCH 160/242] clean up another comment --- src/service-worker.ts | 47 ------------------------------------------- 1 file changed, 47 deletions(-) diff --git a/src/service-worker.ts b/src/service-worker.ts index 30c5f3b9..238ea987 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -21,53 +21,6 @@ const ignoredGets: RegExp[] = [ /https:\/\/learn\.(staging\.)?concord\.org\/.*/ // portal apis when launached from the portal ]; -// FIXME: we need to ignore some URL parameters but not others and it is -// different for different cases. -// When installing files we are adding a __WB_REVISION__ param -// but when searchig for files that won't be included. -// The index.html will have an activity and contentUrl param when a link is clicked -// on. -// The revision params are useful to so futures installs force updates -// to files. So it prevents incorrect caching. This is only needed during the -// install. If we saved these parameters in the actual cache then we'd need to -// re-add these revisions for each matching request so it would be found in the cache -// If we don't store them in the cache, then we'll have to maintain them outside -// of the cache which seems error prone. However to put them in the cache we have -// to maintain outside anyhow so we can add them to each request. So it seems -// like we have to use them. -// In our current application manifest, the only two places they are needed is on the -// index.html and manifest.json files. -// In our content manifests they are needed pretty much everywhere. - -// Cache all get requests -// We will need something like this for authoring -// registerRoute( -// ({ request }) => { -// const isGet = request.method.toUpperCase() === "GET"; -// const isIgnored = !!ignoredGets.find(ig => ig.test(request.url)); -// const isCachable = isGet && !isIgnored; -// if (isCachable) { -// self.clients.matchAll({type: "window"}).then(clients => { -// for (const client of clients) { -// client.postMessage({type: "GET_REQUEST", url: request.url}); -// } -// }); -// } -// return isCachable; -// }, -// new StaleWhileRevalidate({ -// cacheName: "cachedGets", -// plugins: [ -// // Ensure that only requests that result in a 200 status are cached -// new CacheableResponsePlugin({ -// statuses: [0, 200], -// }), -// // handle range requests -// new RangeRequestsPlugin(), -// ], -// }), -// ); - /** Strip out the __WB_REVISION__ parameter Note this also escapes the parameters, so it needs to be applied to both the From f1201afb5873d59443c72d69d487ea4d6964f2ac Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 02:03:36 -0400 Subject: [PATCH 161/242] clean up residual promise.allsettled reference --- src/global.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/global.d.ts b/src/global.d.ts index acd74b7e..b32f42c1 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -2,4 +2,3 @@ declare module "*.png"; declare module "*.svg"; declare module "iframe-phone"; declare module "shutterbug"; -declare module "promise.allsettled"; From ceda3a7cf223f42c49f3b4a060748d6f659e0a23 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Mon, 29 Mar 2021 06:01:08 -0400 Subject: [PATCH 162/242] Switch from ik language code to repurposed mr code The mr code was already being used for Inuit. While Inupiaq has a valid language code of ik we will reuse mr to reuse the glossaries. --- src/public/glossary-files/alaska.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/public/glossary-files/alaska.json b/src/public/glossary-files/alaska.json index 3b458232..338fa807 100644 --- a/src/public/glossary-files/alaska.json +++ b/src/public/glossary-files/alaska.json @@ -99,7 +99,7 @@ ], "autoShowMediaInPopup": true, "translations": { - "ik": { + "mr": { "weather.word": "", "weather.word_mp3_url": "", "weather.definition": "", From 79a3a32c595650234fb732861a057cd1ce1d3a3f Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 09:38:00 -0400 Subject: [PATCH 163/242] add compilation hash to app-manifest.js reference --- package-lock.json | 19 +++++++++++++++++++ package.json | 1 + src/install.html | 6 ------ webpack.config.js | 18 ++++++++++++++++++ 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 46e27d21..d3a54143 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14052,6 +14052,25 @@ "util.promisify": "1.0.0" } }, + "html-webpack-tags-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-webpack-tags-plugin/-/html-webpack-tags-plugin-3.0.0.tgz", + "integrity": "sha512-+4H3546xwpiLiznVyvf0Tk/2fKvvkW/BKbFDtbaFilEISINzSwtMeHIssC02qdPiZhNkgJPDJV14P53XvXwAsg==", + "dev": true, + "requires": { + "glob": "^7.1.6", + "minimatch": "^3.0.4", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, "htmlescape": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", diff --git a/package.json b/package.json index d736c3c9..2bfa76b6 100644 --- a/package.json +++ b/package.json @@ -127,6 +127,7 @@ "git-rev-webpack-plugin": "^0.3.1", "html-replace-webpack-plugin": "^2.6.0", "html-webpack-plugin": "^4.4.1", + "html-webpack-tags-plugin": "^3.0.0", "identity-obj-proxy": "^3.0.0", "istanbul-instrumenter-loader": "^3.0.1", "istanbul-lib-coverage": "^3.0.0", diff --git a/src/install.html b/src/install.html index afd5dbde..5cebf808 100644 --- a/src/install.html +++ b/src/install.html @@ -9,12 +9,6 @@ - -
    diff --git a/webpack.config.js b/webpack.config.js index b460aec2..eaa05ef2 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -2,6 +2,7 @@ const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const HtmlWebpackPlugin = require("html-webpack-plugin"); +const HtmlWebpackTagsPlugin = require("html-webpack-tags-plugin"); const CopyWebpackPlugin = require("copy-webpack-plugin"); const HtmlReplaceWebpackPlugin = require('html-replace-webpack-plugin'); const GitRevPlugin = require('git-rev-webpack-plugin'); @@ -188,6 +189,22 @@ module.exports = (env, argv) => { filename: "install.html", template: "src/install.html" }), + // This adds the app-manifest with a compiliation hash like: + // app-manifest.js?ce5603bd7ecdb0c71360 + // + // This approach helps somewhat with caching, but because it isn't + // part of the file name it could still cause caching problems if + // CloudFront ignores parameters. + // The manifest is "built" by the InjectManifest plugin, but it doesn't + // seem to have a way to build the file with a hash in a way that + // HtmlWebpackPlugin can inject it into install.html. + // So this parameter based approach is the best we can do without + // modifying or replacing InjectManfest + new HtmlWebpackTagsPlugin({ + scripts: ["assets/app-manifest.js"], + hash: true, + append: false // prepend this before the main js file + }), new HtmlReplaceWebpackPlugin([ { pattern: '__APP_VERSION_INFO__', @@ -308,6 +325,7 @@ module.exports = (env, argv) => { }), new InjectManifest({ swSrc: "./src/app-manifest.js", + swDest: "assets/app-manifest.js", compileSrc: false, exclude: [ /^offline-activities\/.*/, From 65d9917bacc5a4d45ff972a629c844d2a0f191ca Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 11:34:27 -0400 Subject: [PATCH 164/242] offlineManifest loading later in the startup this also clarifies some comments --- src/components/install-app.tsx | 72 ++++++++++++++++++++------------ src/offline-manifest-api.test.ts | 5 +++ 2 files changed, 51 insertions(+), 26 deletions(-) diff --git a/src/components/install-app.tsx b/src/components/install-app.tsx index c852479e..1411e476 100644 --- a/src/components/install-app.tsx +++ b/src/components/install-app.tsx @@ -12,6 +12,7 @@ interface IState { serviceWorkerVersionInfo?: string; loadingOfflineManifest: boolean; offlineManifest?: OfflineManifest; + offlineManifestId?: string; } interface IProps { } @@ -38,7 +39,8 @@ export class InstallApp extends React.PureComponent { this.state = { serviceWorkerVersionInfo: "Starting...", - loadingOfflineManifest + loadingOfflineManifest, + offlineManifestId }; this.wb = new Workbox("service-worker.js"); @@ -76,36 +78,28 @@ export class InstallApp extends React.PureComponent { this.setState({serviceWorkerVersionInfo: "No response!"}); }); }); - - if (offlineManifestId) { - getOfflineManifest(offlineManifestId) - .then(async (offlineManifest) => { - console.log("got offlineManifest", offlineManifest); - if (offlineManifest) { - await saveOfflineManifestToOfflineActivities(offlineManifest); - this.setState({offlineManifest}); - } - }) - .catch(error => { - console.error(error); - }); - } } cacheApplication() { const wbManifest = (window as any).__wbManifest; - // const offlineManifest: OfflineManifest = { name: "Application Manifest", activities: [], cacheList: [] }; // FIXME: this caching is going to happen after the initial page load - // that means that the manifest.json and index.html will be cached by chrome as it parses the - // manifest. The index.html request comes from Chrome's new installable dection that makes an offline request - // to the start_url in the manifest. - // Not clear what the solution to that is yet. + // that means that the manifest.json and index.html will be requested by + // Chrome as it parses the manifest. + // The index.html request comes from Chrome's new installable detection that + // makes an offline request to the start_url in the manifest: + // https://goo.gle/improved-pwa-offline-detection + // The best solution to this is to somehow indicate to Chrome that + // we aren't ready to be used offline until the app has been cached. + // I'm not sure if there is a way to do that. const appUrls = wbManifest.map((entry: {revision: null | string; url: string}) => { - // Add Worbox's standard __WB_REVISION__ to the files. This won't actually be - // stored in the cache storage key but is used when fetching the asset. This prevents - // caching problems when the url is fetched. Chrome uses the disk cache to get - // these responses. + // Add Worbox's standard __WB_REVISION__ to the files. The service worker + // strips this out from the key used in cache storage, but it is used when + // fetching the asset. This prevents some caching problems when the url + // is fetched. The service worker does use `cache: "no-store"` so the + // browser disk cache should not be used during the install of the assets + // but cloudfront could still be caching them, so having these revisions + // should help avoid caching issues from CloudFront if (entry.revision) { const parsedUrl = queryString.parseUrl(entry.url); parsedUrl.query.__WB_REVISION__ = entry.revision; @@ -118,8 +112,12 @@ export class InstallApp extends React.PureComponent { // It is not clear why, but it seems like the service worker only handles one // CACHE_URLS_WITH_PROGRESS at time. The next message seems to get queued // until the first is complete. Perhaps because it calls event.waitUntil - // It seems to do the application cache first and the offline manifest cache - // TODO: show something in the UI while this is happening + // We are starting the request for caching the offline manifest after this + // caching of the application files. But we aren't doing an await or promise + // so in theory they might start synchronously. But it seems like the + // service worker is serializing the messages + // + // TODO: show something in the UI while the application files are caching cacheUrlsWithProgress({ workbox: this.wb, urls: appUrls, @@ -136,6 +134,28 @@ export class InstallApp extends React.PureComponent { console.log("finished caching application"); }, }); + + const {offlineManifestId} = this.state; + if (offlineManifestId) { + // The offline manifest is the list of files for the activities needed + // offline. Currently this offline manifest file itself is not put into cache + // storage by the service worker. The saveOfflineManifestToOfflineActivities + // adds information about the manifest to local storage. + // The setting of the offlineManifest in the state triggers the loading + // of the OfflineManifestLoadingModal which then triggers a call + // similiar to cacheUrlsWithProgress but with the urls from the offline manifest + getOfflineManifest(offlineManifestId) + .then(async (offlineManifest) => { + console.log("got offlineManifest", offlineManifest); + if (offlineManifest) { + await saveOfflineManifestToOfflineActivities(offlineManifest); + this.setState({offlineManifest}); + } + }) + .catch(error => { + console.error(error); + }); + } } render() { diff --git a/src/offline-manifest-api.test.ts b/src/offline-manifest-api.test.ts index 0568d4c6..9460c7cd 100644 --- a/src/offline-manifest-api.test.ts +++ b/src/offline-manifest-api.test.ts @@ -28,6 +28,11 @@ describe("offline manifest api", () => { }); }); + // FIXME: This is critical and really should be tested + // The commented out parts were from an earlier version that did the + // the caching directly in the page by issuing fetch requests + // Now the caching happens in the service worker and it sends messages to + // the page about its progress it.skip("handles #cacheOfflineManifest", (done) => { const testManifest: OfflineManifest = { name: "Test Manifest", From 4f0d2af10ad0ba7a7988570c3a7ddd7d49a24089 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 14:49:35 -0400 Subject: [PATCH 165/242] update TODO and FIXME comments --- src/components/install-app.tsx | 19 ++++++++++++++++--- src/service-worker.ts | 12 ++++++++---- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/components/install-app.tsx b/src/components/install-app.tsx index 1411e476..47d0235b 100644 --- a/src/components/install-app.tsx +++ b/src/components/install-app.tsx @@ -85,13 +85,26 @@ export class InstallApp extends React.PureComponent { // FIXME: this caching is going to happen after the initial page load // that means that the manifest.json and index.html will be requested by - // Chrome as it parses the manifest. + // Chrome before they are cached. The manifest.json is referened by + // install.html so the user can add the app to their computer from the + // install.html page. The manifest.json references index.html in its + // start_url field. // The index.html request comes from Chrome's new installable detection that - // makes an offline request to the start_url in the manifest: + // makes an offline request to the start_url: // https://goo.gle/improved-pwa-offline-detection // The best solution to this is to somehow indicate to Chrome that // we aren't ready to be used offline until the app has been cached. - // I'm not sure if there is a way to do that. + // The only way I've seen that is to block the service worker in the + // installing state, so then there is no active service worker. + // I don't think we can do that, because I don't think the page can talk + // to the service worker while it is installing. + // But perhaps there is some kind of manifest api we can use to give + // Chrome more info. + // For example there are events like this one: + // https://developer.mozilla.org/en-US/docs/Web/API/BeforeInstallPromptEvent + // perhaps there are more events where we can tell Chrome we aren't ready yet. + // We don't have to worry about this immediaely because it isn't enforced + // until Chrome 93 which is due August 2021 const appUrls = wbManifest.map((entry: {revision: null | string; url: string}) => { // Add Worbox's standard __WB_REVISION__ to the files. The service worker // strips this out from the key used in cache storage, but it is used when diff --git a/src/service-worker.ts b/src/service-worker.ts index 238ea987..d540b750 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -64,8 +64,14 @@ const cleanIndexHtmlParams: WorkboxPlugin = { registerRoute( ({ request }) => { const isGet = request.method.toUpperCase() === "GET"; - // TODO: Maybe we want to block firestore requests when not launched from the portal - // but those should only happen if the application code is buggy + // It is tempting to try to block firestore and portal requests here + // when we aren't launched from the portal. + // However, those should only happen if the application code is buggy. + // Additionally there isn't a good way to implement that, there is just + // one service worker used by all clients: browser tabs and the PWA. + // So it is possible there will be one 'client' that is launched from the + // portal and another client that is not. Because of that we can't + // consitently block these requests. const isIgnored = !!ignoredGets.find(ig => ig.test(request.url)); return isGet && !isIgnored; }, @@ -156,10 +162,8 @@ function addCacheListener() { if (messagePort) { responsePromise.then(response => { - // TODO include some response info in the message to provide more info messagePort.postMessage({type: "URL_CACHED", payload: {url: request.url}}); }).catch(error => { - // This is assuming we can pass the error through messagePort.postMessage({type: "URL_CACHE_FAILED", payload: {url: request.url, error}}); }); } From ead8989dc8becb1f07e87437acff5e5d6cb268d3 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 15:50:42 -0400 Subject: [PATCH 166/242] more updates on the index.html error messages --- src/components/install-app.tsx | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/components/install-app.tsx b/src/components/install-app.tsx index 47d0235b..5bf633d1 100644 --- a/src/components/install-app.tsx +++ b/src/components/install-app.tsx @@ -92,19 +92,28 @@ export class InstallApp extends React.PureComponent { // The index.html request comes from Chrome's new installable detection that // makes an offline request to the start_url: // https://goo.gle/improved-pwa-offline-detection - // The best solution to this is to somehow indicate to Chrome that + // The best solution to this would be to somehow indicate to Chrome that // we aren't ready to be used offline until the app has been cached. - // The only way I've seen that is to block the service worker in the - // installing state, so then there is no active service worker. - // I don't think we can do that, because I don't think the page can talk - // to the service worker while it is installing. - // But perhaps there is some kind of manifest api we can use to give - // Chrome more info. - // For example there are events like this one: - // https://developer.mozilla.org/en-US/docs/Web/API/BeforeInstallPromptEvent - // perhaps there are more events where we can tell Chrome we aren't ready yet. - // We don't have to worry about this immediaely because it isn't enforced - // until Chrome 93 which is due August 2021 + // The only way I can find to do that is the block the service worker in the + // installing state. If the service worker is not active, then Chrome will + // not try to make the offline start_url request. + // But I don't think we can do that, because we need to block it while we + // send it the manifest from the page. I don't think the page can talk + // to the service worker while it is installing. We should test that. + // + // Alternative we could have the service worker respond with a fake index.html + // so Chrome will be happy, but really the app won't be installed at this + // point. So the page would have to say something to that effect. + // + // + // There is this event: + // https://developer.mozilla.org/en-US/docs/Web/API/BeforeInstallPromptEvent + // which is sent when Chrome determines the PWA can be installed. But it + // isn't possible to reject it or tell Chrome we aren't ready yet. + // + // We don't have to worry about this immediately because it isn't enforced + // until Chrome 93 which is due August 2021. It is just annoying to see the + // errors in the network log. const appUrls = wbManifest.map((entry: {revision: null | string; url: string}) => { // Add Worbox's standard __WB_REVISION__ to the files. The service worker // strips this out from the key used in cache storage, but it is used when From 7b2e66cfd4873b01d428b3a3c466c4ec628f9988 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 29 Mar 2021 17:06:12 -0400 Subject: [PATCH 167/242] Rewrite urls inside serialized components of the authored state. When walking objects rewriting URLs, we now also look inside nested JSON expressions. [#177163989] -- Support Carousel Interactive PT: https://www.pivotaltracker.com/story/show/177163989 --- src/utilities/activity-utils.ts | 61 +++++++++++++++++++++++---------- 1 file changed, 43 insertions(+), 18 deletions(-) diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index 41ec77e6..f4fcf4f0 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -2,6 +2,7 @@ import { Page, Activity, EmbeddableWrapper } from "../types"; import { SidebarConfiguration } from "../components/page-sidebar/sidebar-wrapper"; import { isQuestion as isEmbeddableQuestion } from "./embeddable-utils"; import { runningInCypress } from "./cypress"; +import { isGenerator } from "mobx/dist/internal"; export enum ActivityLayouts { MultiplePages = 0, @@ -168,7 +169,23 @@ export const getPagePositionFromQueryValue = (activity: Activity, pageQueryValue return Math.max(0, Math.min((parseInt(pageQueryValue, 10) || 0), activity.pages.length)); }; +// Look for Json structures (array, object) in value export const walkObject = (activityNode: any, stringCallback: (s: string, key?: string) => string) => { + + const tryToWalkJsonString = (key:string) => { + const jsonRegex = /^\s*[{[]/; + const stringValue = activityNode[key]; + if(jsonRegex.test(stringValue)) { + try { + const jsonData = JSON.parse(activityNode[key]); + walkObject(jsonData, stringCallback); + activityNode[key] = JSON.stringify(jsonData); + return true; + } catch (e) {} // eslint-disable-line no-empty + } + return false; + }; + if (!activityNode) { return; } @@ -180,6 +197,8 @@ export const walkObject = (activityNode: any, stringCallback: (s: string, key?: Object.keys(activityNode).forEach(key => { switch (typeof activityNode[key]) { case "string": + if(tryToWalkJsonString(key)) { break; } + // Its just a plain string: activityNode[key] = stringCallback(activityNode[key], key); break; case "object": @@ -188,23 +207,36 @@ export const walkObject = (activityNode: any, stringCallback: (s: string, key?: } }); } else if (typeof activityNode === "string") { - activityNode = stringCallback(activityNode); + if(!tryToWalkJsonString(activityNode)) { + activityNode = stringCallback(activityNode); + } } }; -export const rewriteModelsResourcesUrls = (activity: Activity) => { - // do not rewrite urls when running in Cypress, otherwise the sample activity iframes do not load causing timeouts - if (runningInCypress) { - return activity; - } - - walkObject(activity, (s) => { - return s +export const rewriteModelsResourcesUrl = (oldUrl: string) => { + const httpRegex =/https?:\/\//; + if(httpRegex.test(oldUrl)) { + const serverRewrite = oldUrl .replace(/https?:\/\/models-resources\.concord\.org/, "models-resources") .replace(/https?:\/\/models-resources\.s3\.amazonaws\.com/, "models-resources") .replace(/https?:\/\/((.+)-plugin)\.concord\.org/, "models-resources/$1"); - }); + // NP: 2021-03-29 S3 resources without terminal slashes seem to fail. regexr.com/5pkc0 + const missingSlashRegex = /\/[^./"]+$/; // URLS with extensions are fine eg *.png + if(missingSlashRegex.test(serverRewrite)) { + return `${serverRewrite}/`; // Add a slash to URLs missing them. + } + return serverRewrite; + } + return oldUrl; +}; + +export const rewriteModelsResourcesUrls = (activity: Activity) => { + // do not rewrite urls when running in Cypress, otherwise the sample activity iframes do not load causing timeouts + if (runningInCypress) { return activity;} + + walkObject(activity, (s) => rewriteModelsResourcesUrl(s)); + return activity; }; @@ -214,17 +246,10 @@ export const removeDuplicateUrls = (urls: string[]) => urls.filter((url, index) export const getAllUrlsInActivity = async (activity: Activity, urls: string[] = []) => { const addExternalUrls = (object: any) => { - walkObject(object, (s, key) => { + walkObject(object, (s) => { if (isExternalOrModelsResourcesUrl(s)) { urls.push(s); } - else if(/^\s*\{/.test(s)) { - // try to parse value: - try { - const jsonData = JSON.parse(s); - addExternalUrls(jsonData); - } catch (e) {} // eslint-disable-line no-empty - } return s; }); }; From 97601045c8a6af3c3a2365efe99271548f90277e Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 29 Mar 2021 17:10:03 -0400 Subject: [PATCH 168/242] Fix README typo [#177163989] -- Support Carousel Interactive PT: https://www.pivotaltracker.com/story/show/177163989 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ed905e1f..bf505666 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ http://localhost:11002/?offlineManifest=smoke-test-v1 #### Creating an Offline Manifest -Offline manifests can either be authored by hand or more easily by enabling "authoring more" and having the Activity Player itself record the activities loaded and the urls to cache. +Offline manifests can either be authored by hand or more easily by enabling "authoring mode" and having the Activity Player itself record the activities loaded and the urls to cache. To enable authoring mode launch the Activity Player with the `setOfflineManifestAuthoringId=` query parameter set to the offline manifest name. As an example when running locally using `npm start` you would use the following url: From 846c57af99cd1e9ade71f290c293247d953cfdc8 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Mon, 29 Mar 2021 17:27:27 -0400 Subject: [PATCH 169/242] update offline manifest for test carousel activity [#177163989] -- Support Carousel Interactive PT: https://www.pivotaltracker.com/story/show/177163989 --- src/public/offline-manifests/simple-carousel.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/public/offline-manifests/simple-carousel.json b/src/public/offline-manifests/simple-carousel.json index d459b843..aac2e6d1 100644 --- a/src/public/offline-manifests/simple-carousel.json +++ b/src/public/offline-manifests/simple-carousel.json @@ -9,15 +9,15 @@ ], "cacheList": [ "https://fonts.googleapis.com/css?family=Lato", - "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", - "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", - "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", - "https://models-resources.concord.org/logos/grasp-head-logo.png", - "https://models-resources.concord.org/question-interactives/branch/master/image", + "models-resources/logos/grasp-head-logo.png", "models-resources/question-interactives/branch/master/carousel/", "models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.css", "models-resources/question-interactives/branch/master/carousel/assets/index.ef6640fdbaa59e7d870c.js", + "models-resources/question-interactives/branch/master/image/", + "models-resources/question-interactives/branch/master/image/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/image/assets/index.ef6640fdbaa59e7d870c.js", "models-resources/question-interactives/branch/master/open-response/", - "models-resources/question-interactives/branch/master/open-response/assets/index.5f534705902ba311d5fe.js" + "models-resources/question-interactives/branch/master/open-response/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/open-response/assets/index.ef6640fdbaa59e7d870c.js" ] } \ No newline at end of file From ad3264004551961870a5c0cfc159ce182af3d710 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 17:38:13 -0400 Subject: [PATCH 170/242] update README with install.html changes I tried to add a big warning about how an older tag will have to be used until manifest authoring mode is fixed. --- README.md | 60 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index ed905e1f..30f3bfa0 100644 --- a/README.md +++ b/README.md @@ -138,23 +138,45 @@ Definitive source of valid URL parameter names can be found in: `src/utilities/u * `token={n}`: set by the portal when launching external activity, to authenticate with portal API ## Usage Notes +## Offline Mode + +The application can be placed in "offline" mode by running it from an offline host. The production offline host is https://activity-player-offline.concord.org/ and the development host is https://localhost:11002. To run in offline mode in development use the `npm run start:offline` script. + +Offline mode registers a service worker that only serves files from the cache with a few exceptions. To get files into the cache the `/install.html` page needs to be loaded. With no arguments this page will install index.html and the assets it needs. This list of assets is generated by the InjectManifest webpack plugin. + +Without arguments, `/index.html` will load an offline home page which lists the activities that have been installed for offline use. These activities are installed by passing a offline manifest to the install page like this: `/install.html?offlineManifest=[id-of-offline-manifest]`. When an offline activity is opened up, an additional header is displayed to return to the offline home page. + +Both `/install.html` and `/index.html` include `` this tells the browser the site supports installing a PWA. The browser will provides UI the user can use to install the PWA onto their device. On desktop Chrome this is little download icon on the right side of the address bar. + ### Offline Manifests An offline manifest is a JSON file containing both a list of activities and a list of GET urls to cache offline. It is used to enable offline use of the Activity Player. Offline manifests can only be used, created or edited when the activity player is run in offline mode, which is determined by the window.location.host value. To run in offline mode in development use the `npm run start:offline` script. -### Using an Offline Manifest +The urls in the manifest must all be available via CORS requests. This is because we need to be able to inspect the response after fetching the url. A non CORS url will result in an opaque response that we can't determine if it succeeded or failed. -Offline manifests are specified using a `offlineManifest=` query parameter that points to the filename (without the `.json` extension) in the `src/public/offline-manifests` folder which is published with each deploy of the Activity Player. +### Installing an Offline Manifest -When running locally (after running `npm start`) load the following url: +Offline manifests are specified using a `install.html?offlineManifest=` query parameter that points to the filename (without the `.json` extension) in the `src/public/offline-manifests` folder which is published with each deploy of the Activity Player. -http://localhost:11002/?offlineManifest=smoke-test-v1 +When running locally (after running `npm start:offline`) load the following url: -#### Creating an Offline Manifest +http://localhost:11002/install.html?offlineManifest=smoke-test-v1 + +This will install all of the assets specified in the manifest as well as adding the activities of the manifest to IndexedDB so they can be viewed on the offline home page. + +### Authoring an Offline Manifest -Offline manifests can either be authored by hand or more easily by enabling "authoring more" and having the Activity Player itself record the activities loaded and the urls to cache. +| :warning: :warning: :warning: OFFLINE MANIFEST EDITING IS BROKEN IN THE OFFLINE-MODE BRANCH :warning: :warning: :warning:| +| ------ | +| To follow these steps you need to use a version of the activity-player from before it was broken. It was tagged with `offline-authoring-r1` before the breaking code was merged. You can access it here: https://activity-player-offline.concord.org/version/offline-authoring-r1/ | -To enable authoring mode launch the Activity Player with the `setOfflineManifestAuthoringId=` query parameter set to the offline manifest name. As an example when running locally using `npm start` you would use the following url: +Offline manifests can either be authored by hand or more easily by enabling "authoring mode" and having the Activity Player itself record the activities loaded and the urls to cache. + +Because authoring a manifest is often a combination of manual file changes and using the authoring mode described below, it tends to be better to do the manifest authoring using localhost. This way the manual changes you make to the manifest file can tested and augmented by the authoring mode. + +#### Creating an Offline Manifest + +To enable authoring mode launch the Activity Player with the `setOfflineManifestAuthoringId=` query parameter set to the offline manifest name. As an example when running locally using `npm start:offline` you would use the following url: http://localhost:11002/?setOfflineManifestAuthoringId=example @@ -166,7 +188,7 @@ Once you have loaded all the activities you want to add to the offline manifest #### Editing an Offline Manifest -If you have a offline manifest saved in the offline-manifests folder named `example` you would load the following URL(after running `npm start`): +If you have a offline manifest saved in the offline-manifests folder named `example` you would load the following URL(after running `npm start:offline`): http://localhost:11002/?setOfflineManifestAuthoringId=example&offlineManifest=example @@ -189,12 +211,12 @@ If the activity uses a master branch version of question-interactives. The manif When new code is added to the master branch the old files are deleted and new files are added so now the master branch question-interactive index.html will refer to a different js file such as: `/models-resources/question-interactivs/branch/master/index.def456.js`. This file will not have been cached during the manifest installation process so when running offline the question-interactives won't be able to find its javascript. Because of this it is always best to refer to versioned interactives which we know will not be modified, so the list of files in the manifest will always be correct. -#### Assignments to support Offline Manifests +### Assignments to support Offline Manifests The student or teacher will need to install the files from the offline manifest before the student goes offline. They'll likely do that with a URL like this one: - https://activity-player-offline.concord.org/branch/offline-mode/?confirmOfflineManifestInstall=true&offlineManifest=staging-precipitating-change-v1 + https://activity-player-offline.concord.org/branch/offline-mode/install.html?offlineManifest=staging-precipitating-change-v1 Then when they run they need to open the url like: @@ -206,17 +228,17 @@ An author needs to setup assignments for each resources (activities) in the mani https://activity-player-offline.concord.org/branch/offline-mode/?activity=https://authoring.staging.concord.org/activities/20926&contentUrl=offline-activities%2Fprecipitatingchange-test-v1.json -The `activity` parameter is used by the AP and the portal-report to compute the resourceUrl. This resourceUrl is used to find the student's answers in the offline indexedDb. It is also used by the portal-report to find the report-structure the report-service. +The `activity` parameter is used by the AP and the portal-report to compute the resourceUrl. This resourceUrl is used to find the student's answers in the offline indexedDb. It is also used by the portal-report to find the report-structure the report-service. ## Models-Resources Proxying -In order for the interactive iframe contents to be cached by the Activity Player service worker the iframes must load content under the same Activity Player domain. To do this in production a CloudFront origin and behavior were added to proxy any url containing `models-resources` to the models-resources S3 bucket. This is also done locally with a proxy setup in the webpack-dev-server configuration. +In order for the interactive iframe contents to use the cached storage of the Activity Player service worker the iframes must load content under the same Activity Player domain. To do this in production a CloudFront origin and behavior were added to proxy any url containing `models-resources` to the models-resources S3 bucket. This is also done locally with a proxy setup in the webpack-dev-server configuration. NOTE: this proxying works by renaming all characters in the url up to and including the `models-resources` string. This is done to allow for branches to not break when using absolute path references. So the following urls all will resolve to the same resource: -* https://activity-player.concord.org/models-resources/glossary-plugin/plugin.js -* https://activity-player.concord.org/branch/master/models-resources/glossary-plugin/plugin.js -* https://activity-player.concord.org/version/1.0.0/models-resources/glossary-plugin/plugin.js +* https://activity-player-offline.concord.org/models-resources/glossary-plugin/plugin.js +* https://activity-player-offline.concord.org/branch/master/models-resources/glossary-plugin/plugin.js +* https://activity-player-offline.concord.org/version/1.0.0/models-resources/glossary-plugin/plugin.js The Activity Player json loader code rewrites any urls it finds that fit the following regexs (note the lack of leading slash): @@ -224,14 +246,6 @@ The Activity Player json loader code rewrites any urls it finds that fit the fol * https?:\/\/models-resources\.s3\.amazonaws\.com/ => "models-resources" * https?:\/\/((.+)-plugin)\.concord\.org/ => "models-resources/$1" -### Offline Mode - -The application can be placed in "offline" mode by running it from an offline host. The production offline host is https://activity-player-offline.concord.org/ and the development host is https://localhost:11002. To run in offline mode in development use the `npm run start:offline` script. - -Offline mode currently causes a header nav to display. In the future this flag will also control how student data is saved and sent to the portal. - -The installed PWA will use `/?offline=true` as its start_url in the `manifest.json` file. This will cause all desktop launches to run in offline mode. In order to use the PWA version an offline manifest must first be installed using the following combinations of query parameters: `?offline=true&offlineManifest=`. An optional parameter of `confirmOfflineManifestInstall=true` can also be used to not auto close the loading dialog and instead show a message that everything is installed once all the assets are downloaded into the cache. - ## License Activity Player is Copyright 2020 (c) by the Concord Consortium and is distributed under the [MIT license](http://www.opensource.org/licenses/MIT). From b2c7759989c91426512c0f9dcc05cd49fab0b555 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 19:13:32 -0400 Subject: [PATCH 171/242] force installs to download all assets from the network It seems likely we are going to have to change this because it seems very likely that people are going to have network errors when downloading gigabytes of data And we wouldn't want to them to have to download all of that data from scratch again. But this current approach seems safest since the content is still changing. --- src/service-worker.ts | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/service-worker.ts b/src/service-worker.ts index d540b750..18f71905 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -135,7 +135,23 @@ function addCacheListener() { fetchOptions: {cache: "no-store"}, plugins: [ stripWbRevision, - cleanIndexHtmlParams + cleanIndexHtmlParams, + { + // Don't allow reads from the cache. We only want to populate the cache. + // If a network request fails we don't want to return the old value + // from the cache. It might be out of date, and we want the network + // error to propigate up. + // + // TODO: it'd be better if every manifest included urls with hashes in + // them. The Workbox generated manifests include __WB_REVISION__. If that + // was present in every entry then we could add that to a header in + // the response stored in the cache, then we'd access that response + // and see if the new entry matched, if so we could just return it. + // if it didn't match then we'd download it from the network + cachedResponseWillBeUsed: async ({cacheName, request, matchOptions, cachedResponse, event, state}) => { + return null; + } + } ] }); @@ -154,10 +170,9 @@ function addCacheListener() { } const request = new Request(...entry); - // Use a specific stragegy that is not registered as a route - // this way we get WorkBoxes features of stragegies without adding this - // network stragegy as a way that handles fetch events so regular - // page requests won't trigger network requests + // Use a specific strategy that is not registered as a route + // this way we get Workbox's strategy features without affecting + // regular page network requests const responsePromise = networkFirst.handle({request, event}); if (messagePort) { From 31b274724c3bf58701a6d1913c35324ce3b45682 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 19:20:28 -0400 Subject: [PATCH 172/242] remove automatic reload on new service worker this automatic reload doesn't make sense without a pre-cache --- src/components/app.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index 08f44012..bbdcc5cc 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -182,10 +182,14 @@ export class App extends React.PureComponent { wb.messageSkipWaiting(); }); wb.addEventListener("controlling", (event) => { - // If a new service worker is now controlling the page reload it to make sure - // all of our assets and resources are in sync with the new service worker - console.log("A new service worker has installed and is controlling, reloading the page."); - window.location.reload(); + // A new service worker is now controlling the page. + // Our service worker does not do a pre-cache step while installing + // so there isn't a reason to reload the page once it is controlling. + // + // TODO: instead we should be notified when install.html has updated the + // the cache and reload the page when that happens, or at least notify + // the user. + console.log("A new service worker has installed and is controlling."); }); wb.addEventListener("activating", (event) => { console.log("A new service worker is activating."); From 4e33c2dac7b3cf3948889fd2b94d6d5fc398eabf Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 21:54:44 -0400 Subject: [PATCH 173/242] new UI for the install.html this show all the files as they are installed --- src/components/install-app.tsx | 61 +++++++++++++++++-- .../offline-manifest-loading-modal.tsx | 27 +++++++- src/install.sass | 4 -- 3 files changed, 80 insertions(+), 12 deletions(-) diff --git a/src/components/install-app.tsx b/src/components/install-app.tsx index 5bf633d1..756c3e3a 100644 --- a/src/components/install-app.tsx +++ b/src/components/install-app.tsx @@ -13,6 +13,8 @@ interface IState { loadingOfflineManifest: boolean; offlineManifest?: OfflineManifest; offlineManifestId?: string; + installedApplicationUrls: {success: boolean; url: string}[]; + installedContentUrls: {success: boolean; url: string}[]; } interface IProps { } @@ -27,7 +29,9 @@ export class InstallApp extends React.PureComponent { if (!isOfflineHost() || !("serviceWorker" in navigator)) { // Don't setup workbox this.state = { - loadingOfflineManifest: false + loadingOfflineManifest: false, + installedApplicationUrls: [], + installedContentUrls: [] }; // TODO: show some useful message incase some one loads this page from a // non offline host, or in a browser without service worker support @@ -40,7 +44,9 @@ export class InstallApp extends React.PureComponent { this.state = { serviceWorkerVersionInfo: "Starting...", loadingOfflineManifest, - offlineManifestId + offlineManifestId, + installedApplicationUrls: [], + installedContentUrls: [] }; this.wb = new Workbox("service-worker.js"); @@ -80,6 +86,20 @@ export class InstallApp extends React.PureComponent { }); } + addInstalledApplicationUrl(success:boolean, url:string) { + this.setState((prevState) => { + const updatedUrls = prevState.installedApplicationUrls.concat([{success, url}]); + return {installedApplicationUrls: updatedUrls}; + }); + } + + addInstalledContentUrl(success:boolean, url:string) { + this.setState((prevState) => { + const updatedUrls = prevState.installedContentUrls.concat([{success, url}]); + return {installedContentUrls: updatedUrls}; + }); + } + cacheApplication() { const wbManifest = (window as any).__wbManifest; @@ -148,9 +168,11 @@ export class InstallApp extends React.PureComponent { }, onUrlCached: (url) => { console.log(`cached url ${url}`); + this.addInstalledApplicationUrl(true, url); }, onUrlCacheFailed: (url, err) => { console.error(`failed to cache ${url}`, err); + this.addInstalledApplicationUrl(false, url); }, onCachingFinished: () => { console.log("finished caching application"); @@ -182,17 +204,46 @@ export class InstallApp extends React.PureComponent { render() { const appVersionInfo = (window as any).__appVersionInfo; - const {serviceWorkerVersionInfo, offlineManifest, loadingOfflineManifest} = this.state; + const {serviceWorkerVersionInfo, offlineManifest, offlineManifestId, + loadingOfflineManifest, installedApplicationUrls, + installedContentUrls} = this.state; + + const installedItems = installedApplicationUrls.map(urlInfo => { + return ( +
    + {urlInfo.success ? "" : "❌"} {urlInfo.url} +
    + ); + }); + + + const contentItems = installedContentUrls.map(urlInfo => { + return ( +
    + {urlInfo.success ? "" : "❌"} {urlInfo.url} +
    + ); + }); return (
    -
    Hello from Install Component
    +

    Installing Activity Player Offline

    Application: {appVersionInfo || "No Version Info"} {serviceWorkerVersionInfo && ` | Service Worker: ${serviceWorkerVersionInfo}`}
    +

    Application Files

    + {installedItems} +

    Content Files

    + { offlineManifestId ? + (contentItems.length > 0 ? contentItems : "waiting...") : + "No activities specified" } { (offlineManifest && loadingOfflineManifest) ? - + this.addInstalledContentUrl(true, url)} + onUrlCacheFailed={(url: string, err: any) => this.addInstalledContentUrl(false, url)} + onClose={() => this.setState({loadingOfflineManifest: false})} /> : null }
    diff --git a/src/components/offline-manifest-loading-modal.tsx b/src/components/offline-manifest-loading-modal.tsx index a2f91a30..3cc0a8c1 100644 --- a/src/components/offline-manifest-loading-modal.tsx +++ b/src/components/offline-manifest-loading-modal.tsx @@ -7,9 +7,13 @@ import "./offline-manifest-loading-modal.scss"; interface IProps { offlineManifest: OfflineManifest; - onClose?: () => void; + onClose: () => void; showOfflineManifestInstallConfirmation: boolean; workbox: Workbox; + onCachingStarted?: (urls: string[]) => void; + onUrlCached?: (url: string) => void; + onUrlCacheFailed?: (url: string, err: any) => void; + onCachingFinished?: () => void; } interface IState { @@ -39,17 +43,21 @@ export class OfflineManifestLoadingModal extends React.Component offlineManifest, onCachingStarted: (urls) => { this.setState({urlsToCache: urls}); + this.props.onCachingStarted?.(urls); }, onUrlCached: (url) => { this.setState((prevState) => ({urlsCached: prevState.urlsCached.concat(url)})); + this.props.onUrlCached?.(url); }, onUrlCacheFailed: (url, err) => { console.error("Failed to cache:", url); this.setState((prevState) => ({urlsFailedToCache: prevState.urlsFailedToCache.concat(url)})); + this.props.onUrlCacheFailed?.(url, err); }, onCachingFinished: () => { this.setState({caching: false}); this.checkForAutoClose(this.props); + this.props.onCachingFinished?.(); } }); } @@ -97,10 +105,23 @@ export class OfflineManifestLoadingModal extends React.Component {numFailedUrls > 0 ? <> -
    Sorry, you cannot continue.
    +
    Sorry, some files failed to install. Close the dialog to see the details.
    {numFailedUrls} assets failed to load
    +
    + + : <> +
    Everything is installed!
    +
    To Finish the install on a Mac:
    +
      +
    1. Click the install icon on the right of the browser address bar.
    2. +
    3. Confirm you want to install the application.
    4. +
    5. This will open these instructions in the newly installed application.
    6. +
    7. Find the light bulb logo in the dock.
    8. +
    9. Right click and select options, then keep in dock.
    10. +
    11. Close the application.
    12. +
    13. Open the application. You can now use the activities you just installed.
    14. +
    - :
    Everything is installed!
    } ); diff --git a/src/install.sass b/src/install.sass index 5ebe2113..761e33a4 100644 --- a/src/install.sass +++ b/src/install.sass @@ -1,6 +1,2 @@ -html, body - margin: 0 - padding: 0 - body font-family: arial, helvetica, sans-serif; From e3638fc077345e9332152bc6e871e26b21c786ec Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Mon, 29 Mar 2021 22:18:52 -0400 Subject: [PATCH 174/242] remove the auto close feature now with the install.html flow, the dialog is always shown and not closed automatically --- src/components/app.tsx | 2 -- src/components/install-app.tsx | 2 +- src/components/offline-manifest-loading-modal.tsx | 15 --------------- 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index bbdcc5cc..d5fceaa8 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -85,7 +85,6 @@ interface IState { offlineManifestAuthoringActivities: OfflineManifestActivity[]; offlineManifestAuthoringCacheList: string[]; serviceWorkerStatus: ServiceWorkerStatus; - showOfflineManifestInstallConfirmation: boolean; showEditUserName: boolean; networkConnected: boolean; serviceWorkerVersionInfo?: string; @@ -128,7 +127,6 @@ export class App extends React.PureComponent { offlineMode, offlineManifestAuthoringActivities: [], offlineManifestAuthoringCacheList: [], - showOfflineManifestInstallConfirmation: queryValue("confirmOfflineManifestInstall") === "true", offlineManifestAuthoringId, offlineManifestId, serviceWorkerStatus: "unknown", diff --git a/src/components/install-app.tsx b/src/components/install-app.tsx index 756c3e3a..0e3bc572 100644 --- a/src/components/install-app.tsx +++ b/src/components/install-app.tsx @@ -240,7 +240,7 @@ export class InstallApp extends React.PureComponent { "No activities specified" } { (offlineManifest && loadingOfflineManifest) ? this.addInstalledContentUrl(true, url)} onUrlCacheFailed={(url: string, err: any) => this.addInstalledContentUrl(false, url)} onClose={() => this.setState({loadingOfflineManifest: false})} /> diff --git a/src/components/offline-manifest-loading-modal.tsx b/src/components/offline-manifest-loading-modal.tsx index 3cc0a8c1..e4cf773b 100644 --- a/src/components/offline-manifest-loading-modal.tsx +++ b/src/components/offline-manifest-loading-modal.tsx @@ -8,7 +8,6 @@ import "./offline-manifest-loading-modal.scss"; interface IProps { offlineManifest: OfflineManifest; onClose: () => void; - showOfflineManifestInstallConfirmation: boolean; workbox: Workbox; onCachingStarted?: (urls: string[]) => void; onUrlCached?: (url: string) => void; @@ -56,25 +55,11 @@ export class OfflineManifestLoadingModal extends React.Component }, onCachingFinished: () => { this.setState({caching: false}); - this.checkForAutoClose(this.props); this.props.onCachingFinished?.(); } }); } - UNSAFE_componentWillReceiveProps(nextProps: IProps) { - this.checkForAutoClose(nextProps); - } - - checkForAutoClose(props: IProps) { - const {caching, urlsFailedToCache} = this.state; - const {showOfflineManifestInstallConfirmation, onClose} = this.props; - if (onClose && !caching && (urlsFailedToCache.length === 0) && !showOfflineManifestInstallConfirmation) { - // allow the final render - setTimeout(() => onClose(), 0); - } - } - renderCaching() { const { offlineManifest } = this.props; const { urlsToCache, urlsCached, urlsFailedToCache} = this.state; From d23f524564adf5cf3342bec4b5c6ba61f0dfd9ad Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 30 Mar 2021 09:25:54 -0400 Subject: [PATCH 175/242] Remove unused import [#177163989] -- Support Carousel Interactive PT: https://www.pivotaltracker.com/story/show/177163989 --- src/utilities/activity-utils.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index f4fcf4f0..3932db4f 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -2,7 +2,6 @@ import { Page, Activity, EmbeddableWrapper } from "../types"; import { SidebarConfiguration } from "../components/page-sidebar/sidebar-wrapper"; import { isQuestion as isEmbeddableQuestion } from "./embeddable-utils"; import { runningInCypress } from "./cypress"; -import { isGenerator } from "mobx/dist/internal"; export enum ActivityLayouts { MultiplePages = 0, From 6aa90f2d3b72d31d3251ca7908e34d79d6f7457a Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 30 Mar 2021 11:59:29 -0400 Subject: [PATCH 176/242] copy preciptating-change-v1 activites to precipitating-change-v2 this is so it is easy to see in a commit what changes were made by v2 --- .../precipitating-change-v2/interview.json | 429 +++ .../lesson-1-post.json | 215 ++ .../precipitating-change-v2/lesson-1.json | 1133 +++++++ .../lesson-2-post.json | 285 ++ .../precipitating-change-v2/lesson-2-pre.json | 285 ++ .../precipitating-change-v2/lesson-2.json | 2613 +++++++++++++++++ .../lesson-3-post.json | 248 ++ .../precipitating-change-v2/lesson-3-pre.json | 248 ++ .../precipitating-change-v2/lesson-3.json | 729 +++++ .../lesson-4-post.json | 248 ++ .../precipitating-change-v2/lesson-4-pre.json | 248 ++ .../precipitating-change-v2/lesson-4.json | 803 +++++ .../lesson-5-post.json | 285 ++ .../precipitating-change-v2/lesson-5-pre.json | 285 ++ .../precipitating-change-v2/lesson-5.json | 1139 +++++++ .../lesson-6-post.json | 248 ++ .../precipitating-change-v2/lesson-6-pre.json | 248 ++ .../precipitating-change-v2/lesson-6.json | 546 ++++ .../precipitating-change-v2/lesson-7.json | 795 +++++ 19 files changed, 11030 insertions(+) create mode 100644 src/public/offline-activities/precipitating-change-v2/interview.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-1-post.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-1.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-2-post.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-2-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-2.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-3-post.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-3-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-3.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-4-post.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-4-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-4.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-5-post.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-5-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-5.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-6-post.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-6-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-6.json create mode 100644 src/public/offline-activities/precipitating-change-v2/lesson-7.json diff --git a/src/public/offline-activities/precipitating-change-v2/interview.json b/src/public/offline-activities/precipitating-change-v2/interview.json new file mode 100644 index 00000000..658cda58 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/interview.json @@ -0,0 +1,429 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Interview - Predicting the Weather Without the Weather Channel", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143459, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png\"}", + "is_hidden": true, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1636-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EPredicting the weather without the Weather Channel\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETalk with an \u003Cstrong\u003Eadult family member or family friend\u003C/strong\u003E who you think might have experience predicting the weather (maybe even someone who is older who learned how to predict the weather when they were around your age).\u003C/p\u003E\r\n\u003Cp\u003EWhat if you needed a weather forecast and couldn\u0026rsquo;t use your usual ways of checking the weather? Imagine you\u0026rsquo;re planning to go snowmobiling on the tundra, but there\u0026rsquo;s a big power failure and there\u0026rsquo;s no TV, Internet, or cell phone available. Even the radio isn\u0026rsquo;t working! You might try to figure out a weather forecast with help from someone you know.\u003C/p\u003E\r\n\u003Cp\u003EAsk the person the questions below and write down their ideas. If possible, record your talk so you can go back and check that you\u0026rsquo;ve written down all the important ideas.\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "Predicting the Weather Without the Weather Channel", + "type": "Embeddable::Xhtml", + "ref_id": "147758-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png\"}", + "is_hidden": false, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1657-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"required\":true,\"prompt\":\"\u003Cp\u003EHow did you learn how to predict the weather?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1638-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat things do you observe to help you predict the weather? \u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1639-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow do you observe those things? (What senses do you use? What tools or instruments do you use?)\u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1640-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow do you use what you observe to predict what the upcoming weather is going to be like? \u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1641-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EStep outside together and ask: what do you think the weather is going to be like twelve hours from now and how do you know? If you are talking with someone who is far away, maybe by phone or Internet, ask them to either take a picture of what the sky is like where they are and send it to you or else describe what they see to you as they answer this question.\u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1642-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v2/lesson-1-post.json new file mode 100644 index 00000000..a1b378cf --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-1-post.json @@ -0,0 +1,215 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": null, + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144077, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs you answer these questions, think about the words used by the person you talked with about weather and the words used by a meteorologist. How do each of them describe weather and weather forecasting?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148413-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat are some \u003Cstrong\u003Esimilarities\u003C/strong\u003E between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1834-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat are some \u003Cstrong\u003Edifferences\u003C/strong\u003E between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1835-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy might it be worthwhile to have some understanding of how to predict weather yourself (without using information from TV or Internet)? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1836-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-1.json b/src/public/offline-activities/precipitating-change-v2/lesson-1.json new file mode 100644 index 00000000..a6f95610 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-1.json @@ -0,0 +1,1133 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Making an Initial Prediction", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143296, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever wondered how people on the news are able to predict tomorrow\u0026rsquo;s weather?\u003C/p\u003E\r\n\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will tell you about her job and how she predicts the weather.\u0026nbsp; Jackie will provide more information about being a meteorologist throughout this unit.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147485-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Jackie Purcell - L1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1262-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142934, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Overall Introduction", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWelcome to Precipitating Change! Watch this video to see what it is all about!\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "What This Unit Is About", + "type": "Embeddable::Xhtml", + "ref_id": "147101-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Mr. Neyhard's Introduction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1180-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142945, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Lesson Opening", + "position": 3, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYour unit challenge will be to determine if the Native Youth Olympics (NYO Games) in Anchorage will be able to take place as planned, be postponed or even be canceled because of problems traveling from across Alaska due to weather.\u003C/p\u003E\r\n\u003Cp\u003ETo solve this challenge throughout the unit, you will need to learn how to predict the weather.\u003C/p\u003E\r\n\u003Cp\u003EYou will have the following tools to help you:\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Real-world data for the Alaska mainland\u003Cbr /\u003E\u0026bull; A toolkit to help analyze the data\u003Cbr /\u003E\u003Cbr /\u003E\u003C/p\u003E\r\n\u003Cp\u003EWatch Mr. Neyhard tell you more about the unit challenge.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "The unit challenge", + "type": "Embeddable::Xhtml", + "ref_id": "147111-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1184-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142944, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring the Weather", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEXPLORING THE\u0026nbsp;WEATHER\u003C/p\u003E\r\n\u003Cp\u003E\"What am I going to wear today?\" is a question everyone asks each morning. How do you determine what you are going to wear? What information do you collect to inform your decision?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147110-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\",\"highResUrl\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1263-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "content": "\u003Cp\u003ELook at the\u0026nbsp;weather\u0026nbsp;data for the\u0026nbsp;morning\u0026nbsp;on Tuesday.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147486-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"54\u00b0F\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhat is the predicted temperature on Tuesday morning?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1265-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"54\u00b0F\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat is the predicted high temperature on Tuesday during the day?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1266-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Sunshine\",\"correct\":false},{\"id\":\"2\",\"content\":\"Snow\",\"correct\":false},{\"id\":\"3\",\"content\":\"Rain\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhat does the symbol on Tuesday mean?\u003C/p\u003E\\n\u003Cp\u003E\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png\\\" width=\\\"50\\\" height=\\\"44\\\"/\u003E\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1267-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A sweater, some pants, and either an umbrella or a rain jacket because it\u2019s not too cold or too warm but it is supposed to be raining.\",\"correct\":true},{\"id\":\"2\",\"content\":\"My parka/big fluffy coat, snow pants, snow boots, and ski goggles because snow will be falling.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Shorts and T-shirt with sunglasses because it will be sunny and hot.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EBased on the weather forecast, what would you wear on Tuesday morning?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1268-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "carousel", + "id": 143199, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Making a Prediction", + "position": 5, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EMAKING A\u0026nbsp;PREDICTION\u003C/p\u003E\r\n\u003Cp\u003ECan you determine at night what the\u0026nbsp;weather\u0026nbsp;will be the following morning? What kind of information goes into a\u0026nbsp;weather\u0026nbsp;prediction?\u003C/p\u003E\r\n\u003Cp\u003EYou have been planning to go to the NYO Games in Anchorage on April 23 at 7 am. This event has been planned for months and you are expecting that about 500 students will compete from all over the state. One of your jobs is to watch the\u0026nbsp;weather\u0026nbsp;and determine if the event is safe to proceed as\u0026nbsp;planned, or if it should be\u0026nbsp;postponed\u0026nbsp;or\u0026nbsp;cancelled.\u003C/p\u003E\r\n\u003Cp\u003EBelow is an Alaska\u0026nbsp;weather\u0026nbsp;dataset from weather stations that includes temperature,\u0026nbsp;precipitation, wind speed, and\u0026nbsp;wind direction.\u003C/p\u003E\r\n\u003Cp\u003EThe data from the\u0026nbsp;weather\u0026nbsp;stations are organized to show information for a 24-hour time period.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147487-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": true, + "model_library_url": null, + "name": "Alaska Full Map", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "type": "MwInteractive", + "ref_id": "96755-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1297-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1298-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"\u003Cp\u003EClick through the radar images which provide precipitation changes for a 24-hour time period.\u003C/p\u003E\",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "d28c5f7719a5e637904c6b1de2d0036ba4f76313", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/carousel/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Carousel Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1316-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat do you predict the weather will be at 7am in Anchorage on April 23rd? Will it be raining in Anchorage or not? Please include a number for the temperature, for example 75 degrees F. in your explanation.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1434-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"likert\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"6cf707ea-431c-4873-b351-7ce8fe6af548\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"42e03e94-4e9d-4d84-89d8-71efb91ea9bd\"}],\"prompt\":\"\u003Cp\u003EHow confident are you of your prediction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1350-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143338, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148889-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How the air feels and the sky looks when I go outside\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The condition of the air that surrounds the Earth at a particular time and place\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) What the sky will do at any given time\",\"correct\":false},{\"content\":\"d) Rain, snow, sleet, hail, sunshine, clouds\",\"correct\":false,\"id\":\"17adffb5-75c5-445c-97ba-7c8bc40428a5\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition for the word \u201cweather\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2012-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Forecast based on evidence about a future event\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Having a premonition\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) When you know something is going to happen\",\"correct\":false},{\"content\":\"d) Forecast based on evidence about past events\",\"correct\":false,\"id\":\"cc1298b9-983c-4665-8259-1846d12d93bc\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition for the word \u201cprediction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2013-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"ec77134a-e481-44b6-ae6b-3c946755ecae\"}],\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2014-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To focus on my work\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To learn something about weather\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) To predict the weather at 7am in Anchorage on April 23rd\",\"correct\":true},{\"content\":\"d) To get into the NYO Games\",\"correct\":false,\"id\":\"71d0bbc7-d5bd-47f8-9be5-1f1591c8918e\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is your challenge for this weather unit?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2015-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) First, click on the word\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Second, look at the picture and read the caption\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Third, try to write my own definition for the word\",\"correct\":false},{\"content\":\"d) Fourth, read the actual definition and watch the video if needed\",\"correct\":false,\"id\":\"76ac086c-1572-48f3-bceb-944f20697651\"},{\"content\":\"e) All of the above\",\"correct\":true,\"id\":\"9a77ae48-7532-44cd-9112-58d1b87c5470\"},{\"content\":\"f) Only answers C and D\",\"correct\":false,\"id\":\"cdcb1029-a50e-4f9b-af8c-62eeb16fc034\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EHow do you use the glossary? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2016-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v2/lesson-2-post.json new file mode 100644 index 00000000..bae29581 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-2-post.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143587, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Estimate the Temperature?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying\u0026nbsp;weather. The students will make a computer model to predict\u0026nbsp;weather\u0026nbsp;in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31\u02da and 59\u02da.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png\" alt=\"\" width=\"550\" height=\"62\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should use the number that is exactly halfway in between 31\u02daand 59\u02da. That\u0026rsquo;s the most exact way to estimate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should mark a number line along the map with the estimate in each square going up the same amount between 31\u02da and 59\u02da. That\u0026rsquo;d be the best estimate.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EIt doesn\u0026rsquo;t make sense to estimate the temperature at the X. We\u0026rsquo;d need to go there and measure the temperature. You can\u0026rsquo;t be confident unless you measure it.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThe X is closer to the 59\u02da than to the 31\u02da, so let\u0026rsquo;s choose a number closer to 59\u02da. That\u0026rsquo;s the best we can do because we don\u0026rsquo;t know what\u0026rsquo;s happening with the weather in those places.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147889-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1684-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1685-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17136-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10226-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10227-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10228-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v2/lesson-2-pre.json new file mode 100644 index 00000000..81035d62 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-2-pre.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143495, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Estimate the Temperature?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying\u0026nbsp;weather. The students will make a computer model to predict\u0026nbsp;weather\u0026nbsp;in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31\u02da and 59\u02da.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png\" alt=\"\" width=\"550\" height=\"62\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should use the number that is exactly halfway in between 31\u02daand 59\u02da. That\u0026rsquo;s the most exact way to estimate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should mark a number line along the map with the estimate in each square going up the same amount between 31\u02da and 59\u02da. That\u0026rsquo;d be the best estimate.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EIt doesn\u0026rsquo;t make sense to estimate the temperature at the X. We\u0026rsquo;d need to go there and measure the temperature. You can\u0026rsquo;t be confident unless you measure it.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThe X is closer to the 59\u02da than to the 31\u02da, so let\u0026rsquo;s choose a number closer to 59\u02da. That\u0026rsquo;s the best we can do because we don\u0026rsquo;t know what\u0026rsquo;s happening with the weather in those places.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147795-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1658-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1649-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17135-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10214-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10215-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10216-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-2.json b/src/public/offline-activities/precipitating-change-v2/lesson-2.json new file mode 100644 index 00000000..c7cc4fba --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-2.json @@ -0,0 +1,2613 @@ +{ + "description": "\u003Cp\u003EHow can weather from the past inform future weather predictions?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Displaying Temperature Data ", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143620, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how temperature plays an important part in predicting weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147936-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1705-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143207, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Lesson Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever wondered why some temperature displays are in color (for instance, television weather reports), but a thermometer displays temperature in numbers? Or how weather apps can tell you what the temperature is wherever you are? In this lesson, you are going to learn what it means to display temperature for mainland Alaska.\u003C/p\u003E\r\n\u003Cp\u003EAs\u0026nbsp; weather scientists (meteorologists), you will experience a virtual storm event in your classroom. As the virtual storm event occurs, you and your research team will collect and record temperature data.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EAs part of your lesson challenge, you will need to determine how to capture the data, how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147375-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Holder for Kevin's video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1706-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 2: DISPLAYING DATA:\\n\\n**HOW CAN WEATHER FROM THE PAST INFORM FUTURE WEATHER PREDICTIONS?**\\n\\nIn this lesson, students are introduced to the virtual storm technology by experiencing a weather event move through their classroom. A weather station collects data about the current weather at a specific location. The strategic placement of multiple stations and use of digital tools and mathematical concepts allows weather scientists to create a more accurate and complete model/visualization of the weather over a region and analyze it for patterns and trends. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Take a limited amount of information and develop a more complete picture of the weather (create a weather visualization)\\n\\n* Explain a weather map using traditional weather symbols and codes (weather stations with temperature)\\n\\n* Make minimally informed predictions about future weather events\\n\\n* Explain that weather varies over time\\n\\nComputational Thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Data Aggregation | Describes the data collection and organization process you use to better understand the topic. | Students will collect temperature data from tablet/laptop and organize the data in charts on the wall. |\\n| Data Abstraction | Simplifying data to make it easier to interpret and find patterns. | Students will come up with a color scheme for temperature and change how the data is represented from numbers to temperature categories, and then to colors. |\\n| Interpolation | Estimating an unknown value based on surrounding information. | Students will make best guess estimates of the temperatures that are missing on the map. |\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students collect data in two rounds and see patterns of data moving across the charts. Before and after each data collection they will interpolate data. They will discover that warm and cold spots on the map are consistently on certain sides, and also see these spots change over time. |\\n| Extrapolation | Following a pattern beyond the known data points. | Students predict future weather based on patterns they observe in the changing temperatures they collected and visualized. |\\n \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9759-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME \\t 2 class periods with Pre-Assessment (80 mins)\\n\\n**KEY ACTIVITIES:**\\nOpening - (5 mins)\\n\\nActivity 1 - Virtual Storm (30 mins)\\n\\nActivity 2 - Interpolating Weather Station Data (20 mins)\\n\\nActivity 3 - Virtual Storm (15 mins)\\n\\nPost-Assessment - How Should We Estimate the Temperature? (10 mins)\\n\\n### MATERIALS AND SET-UP\\nActivity 1 - Virtual Storm: Displaying Temperature Data\\n \\nThis activity requires significant setup time and you may want to plan a few hours to transform the classroom into a 7x7 gridded space and to test and set up the iPads/laptops. \\n\\n**Per Research Team (2-4 students):**\\n\\n* Marker\\n* 3\\\" x 3\\\" sticky notes in the following colors: blue, green, yellow, red, purple, orange\\n* Fully charged and connected iPad/laptop that can display the online activity\\n* Set of colored pencils (for individual student sheets)\\n\\n**Per Class:**\\n\\n* Click [HERE](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf) and print \u201cA-G\u201d and \\\"1-7\\\" coordinates in the largest font possible.\\n\\n* Push desks to walls to get as much open space in your classroom as possible.\\n\\n* Tape labels to the classroom walls, evenly spaced. Make sure the letters are on opposite walls and the numbers on walls opposite, mirroring each other. See image below for an example:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GridSetUpExampleRESIZED.png)\\n\\n* Students should be able to stand in the grid. For example, the smiley face represents a student standing in G6. Adapt the grid points to what you have available in your learning space.\\n\\n**Weather maps:**\\n\\n* Place four large poster-sized sheets of gridded paper on a classroom wall, organizing the chart paper in a row. Each sheet will contain a 7 x 7 grid with axes labeled to match the room set-up. Click [HERE](https://youtu.be/HD_6BAHib1A) to watch a tutorial on how to create weather map grids for your classroom. \\n\\n* Label the top of each sheet with a different time: 7:00 am, 11:00 am, 3:00 pm, and 7:00 pm, and organize them on the wall in order of the time.\\n\\n* Have students track the virtual weather event and record their group's data on the tracking sheet in their Science Notebook.\\n\\n**City Markers:**\\n\\n* Print five city markers by clicking [HERE - PDF](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf)\\n\\n* Place \\\"City Markers\\\" on the floor in the appropriate classroom grid locations that correspond to the map shown in the image below:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/AKGridMapResized.png)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9760-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 2.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9761-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143208, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Weather Station - Data", + "position": 3, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs scientists, it is important to record temperature data for analysis and to predict future\u0026nbsp;weather\u0026nbsp;events.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Displaying Temperature", + "type": "Embeddable::Xhtml", + "ref_id": "147376-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EGather information from each weather station shown on the map above. Each community on the map has a weather station. Click on the box (also called a cell) the community is in to see the temperature information given.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147377-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Activity 1 - Virtual Storm: Visualizing Temperature \\n\\nIn this activity, students simulate the experience of a weather scientist collecting weather data for a large area and organizing it into useful maps to predict a future weather event. Students collaboratively negotiate what the data means, as well as how to accurately record the data and represent it so they can use the emerging pattern to predict a future weather event. The specific computational thinking practices highlighted and practiced in this activity are **Data Aggregation**, **Abstraction**, and **Interpolation**.\\n\\n###Activity Breakdown\\n**1. Setting the stage for the virtual storm.** The grid in the classroom represents a smaller region in Alaska than the area covered in the Lesson 1 radar images. This area includes the following cities: Bettles, Gelena, Nome, Noorvik, and St. Mary\u2019s. In their research teams, students collect temperature data every four hours throughout the region for an eight-hour period of time. \\n\\n* Have a student stand in a square and ask the class to identify the coordinates of where they are standing. Repeat until clear.\\n\\n**2. Round 1 - Starting the Virtual Storm technology. **\\n\\n* Ask research teams to select a student from their team to move to an unoccupied grid cell. \\n\\n* Launch the Virtual Storm technology and have another student from the team record the temperature in the selected cell onto the poster sheet labeled \\\"7:00 am.\\\" \\n\\n* Click \\\"PLAY\\\" on the Virtual Storm technology. Instruct the students to watch the clock in the Weather Sensor, and every four hours record the temperature readings onto the corresponding poster sheets on the walls (7:00 am, 11:00 am, 3:00 pm). After this round, all posters should have eight squares filled in. \\n\\n**3. Round 2 - Students gaining practice by repeating the process.**\\n\\n* Click the \u201cRESET\u201d button. Ask research groups to choose new positions on the grid. \\n* Run the simulation and encourage students to collect and record the data on the three maps again. At the end of this round, each chart should have 16 squares filled in on each chart.\\n\\n**4. Round 3 - Be more strategic.**\\n\\n* Let the research teams rethink their position and either stay or move to a more strategically chosen position.\\n\\n* Run the simulation again, asking students to record the data on three charts. At the end of this round, 24 squares should be filled in with temperature data.\\n\\n** 5. Class Discussion - Emerging patterns \u0026 abstraction.**\\n\\n* Help students develop a color scheme of their choosing, and suggest colored sticky notes for the scheme. Honor the way students want to do it and post the scheme on the wall. For example, students might come up with six temperature categories:\\n * 10-19\u00b0F/-12.2 to -7.2\u00b0C: purple (extremely cold)\\n * 20-29\u00b0F/-6.7 to -1.7\u00b0C: blue (very cold)\\n * 30-39\u00b0F/-1.1 to 3.9\u00b0C: green (cold)\\n * 40-49\u00b0F/4.4 to 9.4\u00b0C: yellow (cool)\\n * 50-59\u00b0F/10 to 15\u00b0C: orange (warm)\\n * 60-69\u00b0F/15.6 to 20.6\u00b0C: red (very warm)\\n\\n* Before going on, have students place the colored sticky notes with the temperatures written on them over the original temperatures. Each team is responsible for their first three postings. \\n\\n** 6. Round 4 - Interpolation test.** \\n\\n* Direct the research teams to choose a new positions on the grid and ask them to take a **\\\"GUESS\\\"** of what the temperature will be for each of the charts.\\n\\n* Run the simulation. Students use the correct colored post-it note for the actual temperature and write **\u201cACTUAL\u201d** on the note and place it over their previous guesses. At the end of this round, there should be 32 squares covered on each chart.\\n\\n**7. Class discussion - Introduce interpolation strategy.** Please see Interpolation Strategy discussion prompts in the Discussion Points below. \\n\\n**8. Round 5 - Repeat interpolation strategy.**\\n\\n* Students repeat Step 6 with the new Interpolation Strategy informing their decision. At the end of this round, there should be 40 squares covered on the chart. \\n\\n**9. Interpolate to Complete the Image.**\\n\\n* As a class, fill in the remaining nine squares on the charts with the agreed upon colored sticky notes. Do not run the simulation to check. At this time, the three charts should be completely filled in.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9762-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Location Selection Strategy\\n\\nWhen you ask research groups to choose new positions on the grid, before starting the simulation, have a short discussion on why they selected these locations. The discussion could unveil two potential strategies: \\n\\n1. Areas where data are very sparse (large open areas where we have no readings at all).\\n\\n2. Areas where we are beginning to see interesting trends and want to see whether the patterns we are observing will continue.\\n\\n###Emerging Patterns \u0026 Abstraction\\nAfter 24 squares have been filled in, ask students the following:\\n\\n* Do you see any emerging patterns in the data? \\n\\n* Why is it hard to determine patterns? Responses could include sparseness of data, but also difficulty of seeing patterns around the numerical representation of temperature.\\n\\n* How can we make it easier to see the temperature patterns? Answer: color code the numbers in a system. If students struggle with coming up with an answer, remind them how they tend to see temperature on common weather forecasts.\\n\\n###Data Abstraction (simplifying or generalizing data to analyze it for trends). \\nPossible prompts for the discussion:\\n\\n* Do you see any patterns with the color coding that you did not see before we added the post-it notes?\\n\\n* How does adding the color help? (It helps your perception: your eye is more easily able to see clusters and trends.)\\n\\n* Is there any disadvantage to using color instead of the numbers? (Yes, we lose detail. We can no longer tell the difference between a cell that was 44\u00b0 and one that was 46\u00b0.)\\n\\n###Interpolation Strategy\\nLead a class discussion reflecting on which guesses were right, wrong, and close. Possible prompts:\\n\\n* Which groups got their predictions right? What was their strategy?\\n\\n* Which groups got their predictions wrong? How close were they? What was their strategy?\\n\\n* Do you think real atmospheric scientists ever have to fill in data (\u201cguess\u201d) in between known data points? Why or why not?\\n\\n* What was your strategy/reasoning that informed your guess? \\n\\n* Which research group\u2019s strategies were successful? Which were not? \\n\\n* Any strategies you would like to use in the future?\\n\\n* Did you get better at guessing this time? Why or why not?\\n\\n* How reliable do you think these guesses or estimates are?\\n\\n\\n###Interpolation Introduction\\n\\nTell the students that what they have been doing when guessing is called interpolation, estimating an unknown value based on surrounding information.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9763-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This Precipitating Change How To Tutorial can be shown to the whole class to give students a better understanding of their roles during the Virtual Storm activity. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"Virtual Storm Student Guide,\\\" 2019. \",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20Virtual%20Storm%20Student%20Guide.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9764-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Once you launch the Virtual Storm by clicking \\\"PLAY\\\", the students will watch the clock and record the temperature readings onto the corresponding weather map poster sheets on the wall every four hours (7:00 am, 11:00 am, 3:00 pm). Follow the steps provided in the Theory \u0026 Background section to guide the students to complete the weather maps.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"The Virtual Storm Interactive Alaska,\\\" 2019.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9765-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57\u00b0F\",\"correct\":false},{\"content\":\"58\u00b0F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1708-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54\",\"correct\":false},{\"id\":\"2\",\"content\":\"55\",\"correct\":false},{\"id\":\"3\",\"content\":\"56\",\"correct\":false},{\"content\":\"57\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1710-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143702, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "First Prediction", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ENow you know how to gather information from one weather station at a time.\u0026nbsp; But what about all the places on the map that do not have a weather station?\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148032-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map below. Try to predict what the temperature will be in the cells labeled with a question mark.\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148033-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell A-1.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1785-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell G-3.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1787-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell B-7.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1788-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"There are no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is no other data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It\u2019s difficult to see any patterns with only 8 community\u2019s weather station data.\",\"correct\":false},{\"content\":\"All of the above.\",\"correct\":true,\"id\":\"d0e3f559-c3b2-4ca2-92ee-3638f5a45188\"}],\"prompt\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1789-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1786-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143624, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Second Prediction", + "position": 5, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map to the right.\u0026nbsp; Now, try to predict what the temperature will be in the cells with a question mark.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147941-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell A-1. [blank-1]\u003C/p\u003E\",\"required\":false}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1715-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell G-3. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1716-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell B-7. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1717-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It\u2019s not easy, there are still no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is a lot more data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It\u2019s easier to see any patterns when more data is given.\",\"correct\":false},{\"content\":\"Both B and C.\",\"correct\":true,\"id\":\"b2eba22d-1bbc-4f20-a1c8-c534e9b6085c\"},{\"content\":\"Both A and B.\",\"correct\":false,\"id\":\"283878d3-83dc-407a-a6ab-972efc498d7a\"}],\"prompt\":\"\u003Cp\u003EWhy is it easier to predict the temperature more accurately on this data chart?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1718-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1755-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143209, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolation", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHow do you think weather scientists (meteorologists) fill in data for missing locations? Scientists have many methods for constructing unknown data between known data points. This is called data\u0026nbsp;interpolation.\u003C/p\u003E\n\u003Cp\u003EThere are many different methods to interpolate data. Let\u0026rsquo;s look at the three\u0026nbsp;interpolation\u0026nbsp;methods used to make these maps.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKABCinterpolationtemp.jpg\" alt=\"\" width=\"484\" height=\"383\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003ENearest Neighbor Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square A, you may have guessed 54\u0026deg;F degrees or something very close to that. This is the simplest\u0026nbsp;interpolation\u0026nbsp;method. It is called\u0026nbsp;\u003Cstrong\u003ENearest Neighbor\u003C/strong\u003E. With this method, you find the nearest\u0026nbsp;weather station to the unknown point and assume it has a similar temperature.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003E\u003Cstrong\u003ELinear Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square B, you may have guessed between 38\u0026deg;F and 50\u0026deg;F, but closer to 50\u0026deg;F. Since this square is between two known temperatures, the unknown temperature is probably between 38\u0026deg;F and 50\u0026deg;F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKlinearinterpolation.jpg\" alt=\"\" width=\"310\" height=\"151\" /\u003E\u003C/p\u003E\n\u003Cp\u003EThis method is called\u003Cstrong\u003E Linear Interpolation\u003C/strong\u003E.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003E\u003Cstrong\u003EWeighted Average Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square C, the square is between other squares at 30\u0026deg;F, 48\u0026deg;F, and 50\u0026deg;F. You could average the three numbers and get approximately 43\u0026deg;F. Or you could try to be even more precise. The unknown square is closer to the 50\u0026deg;F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45\u0026deg;F or 46\u0026deg;F). This method is called\u0026nbsp;\u003Cstrong\u003EWeighted Average\u0026nbsp;Interpolation\u003C/strong\u003E\u0026nbsp;since we give more \u0026ldquo;weight\u0026rdquo; or influence to the closer stations.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKweightedneigborinterpolation.jpg\" alt=\"\" width=\"453\" height=\"374\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147378-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Interpolating Weather Station Data\\n\\nStudents will work through three tasks that will deepen their understandings of the three interpolation methods (nearest neighbor, linear, and weighted average). \\n\\n**Teacher Note: Definitions of the Three Interpolation Methods**\\n\\n* **Nearest Neighbor Interpolation:** Find the nearest weather station to your unknown point, and assume it has the same temperature as the unknown.\\n\\n* **Linear Interpolation:** If an unknown is between two points, estimate a number that is between those two points, but closer to the point that it is geographically closer to. Temperature change between the two points should increase/decrease in regular intervals.\\n\\n* **Weighted Average Interpolation**: Choose three stations around your point, and estimate a number that is the average of the three. But, don\u2019t stop there. Try to be even more precise. If the unknown point is closer to one or two of the points, then estimate the unknown point closer in value to the stations it is nearer to.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9766-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"f3ca8705-099e-4903-aea2-fe4ee99c0d22\"}],\"prompt\":\"\u003Cp\u003EIf two weather scientists were using the same data but different interpolation methods, could they get different results?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1723-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Kevin Short Video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1725-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143210, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolation (Cont.)", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEach of the following maps used the same station data but a different data\u0026nbsp;interpolation\u0026nbsp;method:\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AK-3-maps-interpolation.png\" width=\"900\" height=\"315\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147379-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":true,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 1 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1224-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 2 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1225-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 3 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1226-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1721-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Kevin Short Video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1722-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143625, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Pattern Recognition", + "position": 8, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map to the right.\u0026nbsp; Try to think of ways we could make this data easier for finding patterns.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147942-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\" Forget the map and put all of the numbers in order like a number line.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Take the average of each column and each row for that part of Alaska.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Color code the data for certain temperatures. For example from 45-50 degrees F would be the color blue.\",\"correct\":true},{\"content\":\"Add every number together so that we get one really large number to work with. \",\"correct\":false,\"id\":\"eef89f7a-ecfd-48fa-80f7-973d6862bdb1\"}],\"prompt\":\"\u003Cp\u003EWhat are some ways we can make this weather data easier to look at but still use it for predicting weather across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1727-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1770-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143626, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Pattern Recognition (Cont.)", + "position": 9, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EUse the key to the right of the data map to drag and drop the color tiles over the correct temperature for that color\u0026rsquo;s temperature range.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147943-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because all of the numbers would still be the same.\",\"correct\":false},{\"id\":\"2\",\"content\":\"No, because different students would put different temperatures for a color and that would make their map have a different color pattern. \",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIf each student in the class were to make their own color key, would we have all ended up with the same pattern at the end?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1728-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It gets warmer.\",\"correct\":true},{\"id\":\"2\",\"content\":\"It gets cooler.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It stays the same.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat happens to the temperatures at 7am as you travel to the southeast across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1729-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes\",\"correct\":false},{\"id\":\"2\",\"content\":\"No\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWas it as easy to see this warming pattern before we added the colors?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1730-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EExplain your reason for the above answer.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1731-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143627, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weather System", + "position": 10, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EBelow you will see 3 sets of temperature data filled in on 3 different maps of different times. Understand that this data has been \u003Cstrong\u003Einterpolated\u003C/strong\u003E for you. Look at each of the maps in order to see if you can pick out any other patterns happening in the data.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147944-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"The colder temperatures are moving from the northwest towards the southeast.\",\"correct\":true},{\"id\":\"2\",\"content\":\"The temperatures in the southeast are getting much warmer.\",\"correct\":false},{\"id\":\"3\",\"content\":\"The temperatures in the southeast are getting much cooler.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat is happening to the temperatures as time goes from 7am to 3pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1732-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Temperature Map at Three Times", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2090-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143628, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction", + "position": 11, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWow!\u0026nbsp; You made it.\u0026nbsp; Now you can understand how this data was made and put together.\u0026nbsp; See below for some things we want you to do and look for.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147945-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EThings to do and look for:\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003Eturn on and off the temperature data.\u003C/li\u003E\r\n\u003Cli\u003Eturn on and off the color key.\u003C/li\u003E\r\n\u003Cli\u003Eslide through the times from 7am to 3pm.\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\u003Cp\u003ELook for data that was probably interpolated because it\u0026rsquo;s so far from a weather station in a community.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147946-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EPredict the temperature at 7pm for three cities as you did on page 4 but this time for 7pm.\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147947-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Noorvik at 7pm. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1736-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Nome at 7pm. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1738-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143629, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction", + "position": 12, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWere you correct?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147948-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"37\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"38\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"39\u00b0F\",\"correct\":true},{\"content\":\"40\u00b0F\",\"correct\":false,\"id\":\"aa2fd593-c08e-40e2-a0fd-8c1af86eba2d\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1739-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"39\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"40\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"41\u00b0F\",\"correct\":false},{\"content\":\"42\u00b0F\",\"correct\":true,\"id\":\"bdf4731a-c1e0-4794-9f9a-ef03e07668b2\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1741-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003E How far off was your estimate from the actual temperature for each city? (Hint: Subtract the two.)\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1742-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143211, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 13, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147380-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Interpolation Highlights\\n* Remind students that this activity is similar to the \\\"guessing\\\" process they used in their previous activity to fill in the data chart. \\n\\n* Explain again that weather scientists don\u2019t have data for every location on earth and that they interpolate data to develop a more complete picture. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9767-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for A below:\\n\\nWeighted Average = 36\\nNearest Neighbor = 30\\nLinear = 32\\n\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9768-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for B below:\\nWeighted Average = 42\\nNearest Neighbor = 48\\nLinear = 44\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9769-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for C below:\\nWeighted Average = 48\\nNearest Neighbor = 54\\nLinear = 51\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9770-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Making a prediction in blank spaces\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of talking to your neighbor about your weight while standing in a line\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Estimating and unknown value based on surrounding information\",\"correct\":true},{\"content\":\"d) Copying data from weather stations into blank spaces\",\"correct\":false,\"id\":\"fea96b2e-26aa-4fbc-8022-ee8cf6d0f9f1\"}],\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cInterpolation\u201d?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2003-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Weighted Average, Linear, Nearest Neighbor\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Weighted Neighbor, Linear Average, Nearest Common Denominator\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Weighted Linear, Nearest average, Friendly Neighbor\",\"correct\":false},{\"content\":\"d) Alphabetical, Numerical, Linear\",\"correct\":false,\"id\":\"95f3d0b0-6ada-4426-aae5-f91a7cfd469e\"}],\"enableCheckAnswer\":true,\"hint\":\"\",\"prompt\":\"\u003Cp\u003EWhat are the three forms of Interpolation you learned in this lesson?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2009-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It makes the map more interesting to look at so that people might want to watch the weather on television.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It makes it easier to see where the warmer air and cooler air is on the map instead of trying to look at individual numbers.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) Because it\u2019s fun to color things in.\",\"correct\":false}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhy does it help to color code temperatures on a weather map?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2010-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) From the southeast towards the northwest\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) From the East to the West\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) From the West to the East\",\"correct\":false},{\"content\":\"d) From the northwest towards the southeast\",\"correct\":true,\"id\":\"7fef3354-d757-4411-b431-288e9469301c\"}],\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2011-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v2/lesson-3-post.json new file mode 100644 index 00000000..38ec1be9 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-3-post.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143592, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWhich Estimates Should We Trust?\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png\" width=\"555\" height=\"444\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas. (Each student\u0026rsquo;s estimated temperature choice is in \u003Cstrong\u003Ebold\u003C/strong\u003E to make it easier to find.)\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E53\u02da\u003C/strong\u003E because it\u0026rsquo;s furthest outside of the temperatures that were actually measured at a weather station.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E43\u02da\u003C/strong\u003E because it\u0026rsquo;s far away from any temperatures measured at a weather station.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E39\u02da\u003C/strong\u003E because there aren\u0026rsquo;t any other estimated temperatures near the 39\u02da estimate.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E37\u02da\u003C/strong\u003E because weather usually moves from west to east, so I\u0026rsquo;m unsure about estimates on the west side of the map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png\" alt=\"\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147898-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10240-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it\u2019s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there\u2019s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate \u2013 meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10241-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (39\u00b0)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin\u2019s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39\u00b0 as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n\u2022\\t**Sage\u2019s response (37\u00b0)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37\u00b0 may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n\u2022\\t**Delana\u2019s response (43\u00b0)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43\u00b0 cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana\u2019s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46\u00b0 and 51\u00b0 measured temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Alex\u2019s response (53\u00b0)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana\u2019s response above, if there were a weather front just to the east of the 46\u00b0 and 51\u00b0 observed temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10242-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1688-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1689-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v2/lesson-3-pre.json new file mode 100644 index 00000000..d446650a --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-3-pre.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143591, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhich Estimates Should We Trust?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png\" width=\"555\" height=\"444\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas. (Each student\u0026rsquo;s estimated temperature choice is in \u003Cstrong\u003Ebold\u003C/strong\u003E to make it easier to find.)\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E53\u02da\u003C/strong\u003E because it\u0026rsquo;s furthest outside of the temperatures that were actually measured at a weather station.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E43\u02da\u003C/strong\u003E because it\u0026rsquo;s far away from any temperatures measured at a weather station.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E39\u02da\u003C/strong\u003E because there aren\u0026rsquo;t any other estimated temperatures near the 39\u02da estimate.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E37\u02da\u003C/strong\u003E because weather usually moves from west to east, so I\u0026rsquo;m unsure about estimates on the west side of the map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png\" alt=\"\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147895-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10237-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it\u2019s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there\u2019s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate \u2013 meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10238-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (39\u00b0)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin\u2019s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39\u00b0 as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n\u2022\\t**Sage\u2019s response (37\u00b0)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37\u00b0 may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n\u2022\\t**Delana\u2019s response (43\u00b0)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43\u00b0 cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana\u2019s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46\u00b0 and 51\u00b0 measured temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Alex\u2019s response (53\u00b0)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana\u2019s response above, if there were a weather front just to the east of the 46\u00b0 and 51\u00b0 observed temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10239-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1687-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1686-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-3.json b/src/public/offline-activities/precipitating-change-v2/lesson-3.json new file mode 100644 index 00000000..28b87e8f --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-3.json @@ -0,0 +1,729 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Displaying Precipitation \u0026 Air Moisture Data", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143621, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application with Jackie Purcell", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how air moisture plays an important part in forming precipitation.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148013-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1765-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143588, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEXPLORING PRECIPITATION, AIR MOISTURE AND TEMPERATURE\u003C/p\u003E\n\u003Cp\u003EHave you ever been caught without your parka or boots when you needed them? Predicting rain or snow\u0026nbsp;is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.\u003C/p\u003E\n\u003Cp\u003EAs weather scientists, you will continue to explore the weather maps. This time you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number).\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPrecipitation symbol = raindrops\u003C/strong\u003E\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg\" alt=\"\" width=\"588\" height=\"141\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147890-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 3: BUILDING RULES:\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students revisit the weather maps they constructed in Lesson 2 and add precipitation and air moisture data for additional time stamps to the weather maps to answer the question \\\"Where does it rain?\\\" Precipitation is a result of the complex interactions between temperature and moisture. Atmospheric scientists construct graphical displays of temperature and moisture content data to help them come up with rules to identify where precipitation occurs. \\n\\nThis lesson introduces a new way of utilizing the virtual simulation that allows students to start recognizing patterns and formalizing their rule statements with the data set they have been exploring in Lesson 2.\\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n* Explain the current weather conditions in their local context\\n\\n* Read weather maps using traditional symbols and codes (adding precipitation)\\n\\n* Use CT strategies (rule abstraction, rule development and rule testing) to develop a better understanding of how to model weather\\n\\nComputational Thinking (CT) skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. Students develop a general statement to answer the question \\\"Where does it rain?\\\"|\\n| Rule Abstraction | Developing a statement of how things work based on observed patterns. | Students make a generic statement to answer \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual model activity |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model.| The virtual model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10229-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (35 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Opening (5 mins)\\n**Activity 1 - Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (20 mins)\\n**Post-Assessment - Which Estimates Should We Trust? (10 mins)\\n\\n\\n### MATERIALS AND SET-UP\\n\\nThe materials and set up are repeated from Lesson 2 - Virtual Storm Technology and included below for your convenience.\\n\\nPer Research Team:\\n\\n* Marker\\n\\n* Fully charged and connected iPad/laptop \\n\\nPer Class:\\n\\n* Set up classroom grid\\n\\nWeather maps:\\n\\n* Display the 7 am, 11 am, and 3 pm completed gridded temperature map students created in Lesson 2, Activity 1 with colored sticky notes for temperatures.\\n\\nCity flags:\\n\\n* Place a printout of each of the Alaskan cities (Bettles, Galena, Nome, Noorvik, St. Mary\u2019s) in locations corresponding to the grid map for Alaska.\\n\\nIn the simulation:\\n\\n* As with the Virtual Storm from the previous lesson, run the simulation (starting at 7 am) and pause it at 3 pm. Students will only collect precipitation data for this activity.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10230-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 3.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10231-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1761-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143589, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring Precipitation", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "\u003Cp\u003EWould you change what you selected to wear? Yes or No\u003C/p\u003E\n\u003Cp\u003EIf yes, what would you change and why?\u003C/p\u003E", + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEXPLORING PRECIPITATION, AIR MOISTURE, AND TEMPERATURE\u003C/p\u003E\n\u003Cp\u003EPretend your classroom represents mainland Alaska and the same virtual storm will move through your classroom. As expert weather scientists, you already know how to combine the data (also known as data aggregation) from this event. This time you are going to focus on collecting precipitation data.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147891-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EMap where it is raining at 3 pm. Work in teams to collect data to fill in the map. Look for relationships between rain and temperature.\u003C/p\u003E\r\n\u003Cp\u003EYou will see precipitation as the following symbol on your weather station.\u003C/p\u003E\r\n\u003Cp\u003EPrecipitation = raindrops\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147892-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Where is it raining?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Where is it not raining?\u003C/p\u003E\r\n\u003Cp\u003E\u003Cbr /\u003E\u0026bull; Describe what the shape of the rain area looks like.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cbr /\u003E\u0026bull; Where on the map is there light (1 raindrop), moderate (2 raindrops) or heavy (3 raindrops) precipitation?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003ELook at your classroom weather map for 3 pm. What patterns do you see when looking at both precipitation and temperature?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208877-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1- Virtual Storm: Exploring Precipitation, Air Moisture, and Temperature\\nThis activity is a continuation of the Virtual Storm simulation and has a similar set-up to the Lesson 2 - Virtual Storm. \\n\\nKey additions in this activity include:\\n\\n* Reusing the 7 am, 11 am, and 3 pm weather map created in Lesson 2.\\n\\n* Pausing the simulation at 3 pm and completely filling in each square. \\n\\nAdditionally, this lesson provides students with an opportunity to explore and explain why it rains in some areas and not others. Students work in teams of weather scientists to collect precipitation data and look for patterns in rainfall, temperature, and air moisture content. Students use the Virtual Storm technology from the beginning, but focus on what is happening at one point in time (at 3 pm). Students then brainstorm all of the patterns they see in the variables of temperature, air moisture, and precipitation and then use those patterns to come up with a general statement (rule) to explain under what conditions rain occurs. Students apply the CT skills of **Data Aggregation** and **Data Abstraction** as they collect and visualize their rain data, but **Pattern Recognition** is the primary computational thinking practice in this Lesson. This sets the stage for the next activity, where students will use the patterns they discover to abstract a rule statement about where rain occurs.\\n\\n###Activity Breakdown\\n**1. Set the stage for the virtual storm with precipitation.** In their research teams, students will be responsible for collecting precipitation data for the region at 7 am (once), 11 am (once), and the entire 3 pm (multiple times). \\n\\n**2. Start the virtual storm with precipitation.** Students first collect and enter precipitation data for 7 am and 11 am but the virtual storm will stay at 3 pm and students will work to complete the map of the region for 3 pm. Students aggregate precipitation data on the 3 pm weather map on the wall. Have students abstract precipitation data by representing it on the map with a raindrop on top of the temperature sticky notes.\\n\\n**3. Pause the virtual storm at 3 pm.** Students explore simulated precipitation only for 3 pm. Research teams move around the room to different locations collecting rain data to complete the 3 pm weather map. \\n\\n**4. Class brainstorm of precipitation patterns.** Lead a class brainstorm, looking for and recognizing patterns in the data. Have the students record their thoughts for precipitation in the online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10232-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"Temperature and Precipitation Discussion Prompts\\n\\n* After the map is complete, have students record their ideas in their Student Notebooks. Encourage students to use the maps on the wall as they describe observed patterns. \\n\\n* For a list of possible class discussion questions, see below: \\n * Where is the rain on the map?\\n * Why do you think it is raining in some places and not others?\\n * Is there a relationship between temperature and precipitation?\\n\\n**Teacher Note**: Patterns should include some notion of precipitation happening in warm areas, and that the rain is clustered in an area and somewhat resembles a diagonal line. Keep in mind that the data they are collecting is a subset of the larger dataset they saw in Lesson 1, Activity 2 - Making an Initial Prediction. This process is a way to help them dive deeper into the data to help support a stronger prediction later in the unit. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10233-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"In this tutorial, you will learn how to guide students in using the virtual storm interactive to test the rules they have created. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials - Where does it rain virtual model?\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10234-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "AK EP2", + "native_height": 752, + "native_width": 920, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://weather.concord.org/index.html?scenario=AK_EP2\r\n", + "type": "MwInteractive", + "ref_id": "96958-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143590, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring Precipitation (Cont.)", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "\u003Cp\u003EYour teacher will lead a class discussion.\u003C/p\u003E\n\u003Cp\u003EPossible discussion questions:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; What was your prediction for the weather in Boston on November 7th at 7am?\u003Cbr /\u003E\u0026bull; What was your strategy that helped you develop your prediction?\u003C/p\u003E", + "sidebar_title": "Class Discussion", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EVIRTUAL STORM: EXPLORING PRECIPITATION, AIR MOISTURE, AND TEMPERATURE\u003C/p\u003E\n\u003Cp\u003EWhat kind of\u0026nbsp;weather\u0026nbsp;is good for playing outside? Can you determine at night what the\u0026nbsp;weather\u0026nbsp;will be the following morning? What kind of information goes into a\u0026nbsp;weather\u0026nbsp;prediction?\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147893-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EAdd air moisture content to your classroom weather maps. Work in teams to collect data to fill in the map.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147894-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Where is it the air most wet?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Where is the air most dry?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Is there a relationship between air moisture and temperature?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Is there a relationship between air moisture and precipitation?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Is there a relationship between air moisture and where there is light (1 raindrop), moderate (2 raindrops) or heavy (3 raindrops) precipitation?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003ELook at your classroom weather map for 3 pm. What relationships do you see between temperature, air moisture, and rain?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208878-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1: Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (Continued)\\n\\n###Activity Breakdown\\n\\n**1. Set up Round 2 by leaving the Virtual Storm at 3 pm.** Explain to students that their new question is: \\\"Why is it raining in some locations and not others? Where does it rain?\\\"\\n\\n**2. Students explore and collect simulated air moisture content data in different spots at 3 pm to complete the weather map. **Air moisture is represented as a number between 1 (very dry air) and 10 (very moist air). Moisture content refers to how much water vapor is in the air. See discussion points below to help guide students through the process.\\n\\n**3. Class brainstorm of air moisture patterns.** See the Discussion Points for possible question prompts.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10235-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Air Moisture Content\\n* Temperature alone is not sufficient to fully answer the questions, \\\"Why is it raining in some locations and not others? Where does it rain?\\\" Another variable, such as air moisture content, is needed. \\n\\n* Briefly introduce the concept of air moisture content. Explain to the students that air contains microscopic water particles, called water vapor. Air moisture content refers to how much water vapor is in the air.\\n\\n* Reference possible students\u2019 past experiences with very moist air (e.g., in the shower or steam room) and/or very dry air (e.g., in a sauna or in the winter). The amount of water vapor is illustrated by an air moisture content number where 0 = very dry air and 10 = very moist air. Students may remember this concept from the data tables they received in Lesson 1.\\n\\n**Teacher Note**: The air moisture data students receive will already be abstracted, so no further abstraction is needed. It is expressed as a single number on a scale of 0 to 10, with 10 having the most water. This corresponds to mass of water per volume of air (i.e., g water/m\u003Csup\u003E3\u003C/sup\u003E air).\\n\\n###Exploration of Simulated Air Moisture Content at 3 pm. \\n* As research groups move around the room to different locations collecting air moisture data to complete the 3 pm weather map, encourage students to observe and share with each other where in the room the air is wettest, and where they guess it will likely be wettest before they check their instruments.\\n\\n###Air Moisture\\n* Lead a class brainstorm of air moisture patterns and have students record their ideas in their Science Notebooks.\\n* Encourage students to use the map on the wall as they describe observed patterns. \\n\\n* For a list of possible questions to guide your discussion, see below:\\n\\n * Where is the air wettest on the map?\\n\\n * Where is the air driest?\\n\\n * Do you see a relationship between air temperature and air moisture content?\\n\\n * Do you see a relationship between air moisture content and precipitation?\\n\\n**Teacher Note**: Students should come away with some notion of how temperature and air moisture seem to follow the same pattern (warm air = wet, cold air = dry), and that it only rains when the air is wet.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10236-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "AK-EP2 ", + "native_height": 752, + "native_width": 920, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://weather.concord.org/index.html?scenario=AK_EP2", + "type": "MwInteractive", + "ref_id": "96959-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143695, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148890-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"75d5130a-6c7b-45f6-80cd-22d7b2eba0e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cprecipitation\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2017-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How much rain is falling to the ground\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Amount or content of water in the air\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) The temperature at which rain will start to fall\",\"correct\":false},{\"content\":\"d) The ratio of the temperature and the wind direction\",\"correct\":false,\"id\":\"65903405-cdf8-4532-a239-e913395a8b36\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of \u201cair moisture\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2018-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It will rain when the air is very dry\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It will rain when the air is very wet\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) It will rain when the air moisture is between 7 and 9\",\"correct\":true},{\"content\":\"d) It will rain when the air moisture is between 5 and 7 \",\"correct\":false,\"id\":\"019a4ccd-da14-4e5f-9692-fe79bddc7c0f\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the relationship between air moisture and precipitation?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2021-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v2/lesson-4-post.json new file mode 100644 index 00000000..f30b308c --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-4-post.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143598, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhat Are the Rules for Fronts and Precipitation?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147904-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10256-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10257-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10258-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1692-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1693-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v2/lesson-4-pre.json new file mode 100644 index 00000000..42509f1e --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-4-pre.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143597, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhat Are the Rules for Fronts and Precipitation?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147903-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10253-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10254-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10255-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1690-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1691-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-4.json b/src/public/offline-activities/precipitating-change-v2/lesson-4.json new file mode 100644 index 00000000..aace81f4 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-4.json @@ -0,0 +1,803 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Building Rules", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143689, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how\u0026nbsp;making sense of the weather data helps in predicting\u0026nbsp;weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148014-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1766-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143593, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.\u003C/p\u003E\n\u003Cp\u003EExample: This rule has two parts that must happen to have a certain result. If it was a [ \u003Cstrong\u003Every nice summer\u003C/strong\u003E ] and if it is [ \u003Cstrong\u003EAugust\u003C/strong\u003E ], then there will be [ \u003Cstrong\u003Elots of berries to pick\u003C/strong\u003E ].\u0026nbsp;\u003C/p\u003E\n\u003Cp style=\"text-align: justify;\"\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg\" alt=\"\" width=\"472\" height=\"221\" /\u003E\u003C/p\u003E\n\u003Cp\u003EThink about developing a similar statement that could be used to determine where it will rain.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147899-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 4: BUILDING RULES\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students develop a rule for where it will rain and test their rule using a Virtual Model. This lesson supports students to build their understanding of how observations of natural phenomena (weather) can be generalized (rule abstraction) for computational modeling (rule testing and rule refinement) and predictive purposes. This lesson introduces new technology, a Virtual Model, that allows students to test rules with the dataset they have been exploring in Lesson 3. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n\\n\\nComputational thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | CT Skill Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students develop a general statement to answer the question, \\\"Where does it rain?\\\" |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed. | Students make a generic statement to answer, \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual Model activity|\\n| Rule Refinement | Modifying a rule to be more precise to work in the model. Precise (exact, careful about details) | The Virtual Model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10243-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (45 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Activity 1 - Rule Abstraction Conversation (20 mins)\\n\\n**Activity 2 - Refining and Testing Rules using a Virtual Model (25 mins)\\n\\n### MATERIALS AND SET-UP\\n\\nPer Student:\\n\\n* Science Notebooks\\n* Access to Student Online Activities\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10244-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 4.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10245-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143594, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Rule Abstraction", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EVIRTUAL STORM: RULE ABSTRACTION CONVERSATION\u003C/p\u003E\n\u003Cp\u003EYour task is to take a deeper look at your data and start summarizing the patterns that you see with the goal of writing a one-sentence statement that brings together the most important patterns to answer the question, \u0026ldquo;Where does it rain?\u0026rdquo;.\u003C/p\u003E\n\u003Cp\u003ELet's start by looking at the data you recorded on your Storm Tracker sheet for 3pm in your Science Notebook (page 12).\u003C/p\u003E\n\u003Cp\u003EWork within your research team and circle the areas where you think it will rain based on temperature data.\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4StormTracker7pm.png\" width=\"444\" height=\"444\" /\u003E\u003C/p\u003E\n\u003Cp\u003ENow let's look at the Weather Map of the Alaska area at 7pm (see below). Work with your research team to find patterns that could help you identify where it will rain.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WeatherMAPB.jpg\" alt=\"\" width=\"750\" height=\"583\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147900-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDiscuss with your research team where you expect it will rain at 7 pm on the Weather Map based on the patterns that you saw for 3 pm. Describe below where you think it will rain.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208879-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWrite a general statement that answers the question, \u0026ldquo;Where does it rain?\u0026rdquo; Use the pattern charts and your weather map to create your statement.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208880-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1 - Rule Abstraction\\n\\nStudents create a relational statement explaining where it is raining. The specific computational thinking practices highlighted and practiced in this activity are **Rule Abstraction**, **Rule Testing**, and **Rule Refinement**. We anticipate that this conversation is going to require heavy scaffolding to get students acquainted and comfortable with writing rules. Efforts here will pay off later in Lessons 5 when students must write additional rules for other weather phenomena.\\n\\n**1. Abstracting a rule.**\\n\\n* Introduce the task of writing a one-sentence statement that brings together the most important patterns to answer the question, \u201cWhere does it rain?\u201d \\n\\n**2. Gathering more information.**\\n\\n* Have students look at their Virtual Storm Tracker in their Science Notebook on page 12 and circle where they think it will rain at \\n 7 pm, using temperature only.\\n\\n* Have students look at the Weather Map 7 pm with Precipitation \u0026 Air Moisture Content in their Science Notebook on page 17 and discuss with their research teams where you think it will rain with this new information. \\n\\n* Once they have decided on where they think it will rain, direct students to enter their answer to the question in the appropriate place on this page. \\n\\n**3. Introduce rule abstraction.** Rule Abstraction is creating a general statement derived from exploring patterns in data in order to establish rule(s), principles, or insights that may be generalized to other contexts. This is the first step in creating a rule in order to make a simulation on a computer. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10246-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Drafting Rule Statements\\n\\n* In Lesson 3, students started to see relational connections between the weather variables for 3 pm and may or may not be able to fully articulate their current thinking. To help students develop a stronger voice and build a statement, they are asked to apply their understandings to another time step (7 pm). By applying their thinking at two different time steps, students validate their ideas and develop more formalized ideas on how they think the weather variables relate to each other. \\n\\n* Advise students to try to merge ideas from what they learned in Lessons 2 and 3. \\n\\n* Ask students to be selective in what patterns they think are strongest in explaining precipitation. \\n\\n* Explain to students that they just did something that weather scientists do called Rule Abstraction (creating a general statement derived from exploring patterns in data in order to establish rule(s), principles or insights that may be generalized to other contexts). This is the first step in creating a rule in order to make a simulation on a computer. \\n\\n\\n**Teacher Note**: While statements will vary in construction, level of detail, and even correctness, check in with teams to ensure that statements include some notion of both air moisture content AND temperature being important drivers of whether it will rain. If a team is stuck on one variable or the other, you might point out to them places on the Weather Map posters where their statement fails to hold true. For example, if students are ignoring air moisture, draw their attention to a place on the map where the temperature is warm but it\u2019s not raining.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10247-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143595, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Rule Abstraction (cont.)", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.\u003C/p\u003E\n\u003Cp\u003ETo make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.\u003C/p\u003E\n\u003Cp\u003EYou can practice making more specific rule statements by answering the questions below and testing them using the model.\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147901-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": true, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EUsing the following rule, which pair of grid squares (A, B, or C) will produce rain?\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png\" alt=\"\" width=\"70\" height=\"72\" /\u003E\u003Cbr /\u003EIF the upper square (the northwest square)\u0026nbsp;\u0026nbsp;is colder than the lower square by at least [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E5 degrees\u003C/span\u003E\u003C/strong\u003E ] AND IF the moisture of the lower square is at least [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E7\u003C/span\u003E\u003C/strong\u003E ] THEN it rains in the lower square.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD\" width=\"424\" height=\"182\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EWhich square will have rain according to this rule?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "A", + "is_correct": false, + "prompt": "" + }, { + "choice": "B", + "is_correct": true, + "prompt": "" + }, { + "choice": "C", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17138-Embeddable::MultipleChoice" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143596, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Testing the Rules with a Model ", + "position": 5, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPress \u003Cstrong\u003ESetup\u003C/strong\u003E and then \u003Cstrong\u003ERun\u003C/strong\u003E. Explore all the features of this model. Discuss with your research team what each feature shows you.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cbr /\u003EAfter you have explored the model, refine your precipitation rule until you have found the best fit between the actual precipitation and the precipitation predicted by the rule. Test your rule with all of the data sets.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147902-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat\u0026rsquo;s the best rule to fit the actual precipitation?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208881-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDid your rule fit the actual precipitation perfectly for all data sets?\u0026nbsp; Please explain why or why not.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208882-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EFor a weather model, list as many reasons as you can think of for why a rule might not predict the actual data perfectly.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208883-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat is your final rule statement that answers the question, \"Where does it rain?\"\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208884-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Refining and Testing a Rule with a Virtual Model\\n\\n**Objective:** To deepen students\u2019 understanding of rule refinement with a virtual model that makes it easy to experiment with two varying quantities -- temperature difference and air moisture content. Students use this understanding to solve the challenge of finding the best rule that predicts where precipitation occurs.\\n \\n**1. Encourage students to explore the model.** Ask students to explore all the features of the model. When experimenting with setting rule values, they should try the extreme settings (maximums and minimums) as well as more moderate settings. After 5 to 10 minutes of independent work, let them **tell you** what they have discovered. They might find: \\n\\n* Weather data for five different times with each data set separated by four hours. \\n* Grid squares showing moisture in the upper right corner and temperature in the lower left. \\n* Actual rainfall indicated with the light blue drops. \\n* When \\\"show-results-of-the-rules?\\\" is selected, check marks show which parts of the rule are true. \\n* Check marks appear for each part of the rule when true: orange check for the temperature difference rule and green checks for the moisture rule.\\n* The \\\"Show Rain with these Rules\\\" button displays dark blue drops only where both the temperature difference rule and the moisture rule are true. \\n\\nA short discussion about the following, might be valuable before students go on to the challenge.\\n* Why are there no check marks on the top and left side of the grid? (The temperature rule can\u2019t be calculated because there is no square to the northwest in those rows.)\\n* Is there a rule that makes it rain everywhere (not counting the top and left rows)? Or nowhere?\\n* How did you explore the rules? \\n* How did you test them? \\n* What did you learn? (See if students found a technique for exploring the model. Students might benefit from hearing each other\u2019s strategies.)\\n\\n**2. Challenge: Find the best rule.** Remind students that they are pursuing this question, \\\"Where does it rain?\\\" Or more specifically, \\\"What conditions of temperature and moisture result in rain?\\\" \\n\\nHave students test their rule to find the best fit between the real data (light blue) and the data produced by the rule (dark blue) for the five different times (7 am, 11 am, 3 pm, 7 pm, and 11 pm). They will record their findings in the questions that follow the model.\\n\\nNotes: Try to let students discover that there is no perfect rule. That is, even the best rule may make rain in a square or two that had none or produce rain where there was none. Students will have to work through this. If they find it frustrating, let them know the rule doesn\u2019t need to be perfect. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10248-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Lead a class discussion at the end of the activity. Please see possible discussion points below:\\n\\n* Did working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\n* Would the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\n* Do you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\n* Even if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nDid working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\nWould the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\nDo you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\nEven if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nOptional discussion question, if you have time:\\nThe 7am, 11am, 3pm, and 7pm data matches the Virtual Storm event that you created in Lesson 2 and in Lesson 3. Is the rule that you developed in this activity different than the one in Lesson 3. How have they changed?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10249-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Alaskan Native Thoughts on Climate Change\\\", The International Polar Year, Sep 2, 2008, Run Time:02:09, http://www.ipy.org/index.php?/ipy/multimedia/\u0026view=1869\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10250-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Passport To Knowledge: Polar Palooza\\\", http://passporttoknowledge.com/polar-palooza/video/native01a.mp4\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10251-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this tutorial to learn how students will be interacting with the Virtual Model to test and refine their rule statements to answer the question, \\\"Where does it rain?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: Where Does It Rain?, 2019, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10252-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 800, + "native_width": 800, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/precip-rule-ak-v5.html", + "type": "MwInteractive", + "ref_id": "96960-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143694, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148891-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Simplifying data to make it easier to interpret and find patterns\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) A type of art that makes it difficult to see what the artist is trying to show\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) A piece of something\",\"correct\":false},{\"content\":\"d) When you remove a sliver from your finger\",\"correct\":false,\"id\":\"3a59d5ea-7526-46e7-b468-ff8612b9852d\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cabstraction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2022-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) If the square to the north-west is colder by at least 3 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) If the square to the north-west is colder by at least 5 and if the moisture is at least 9 then it will rain.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) If the square to the north-west is colder by at least 7 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"content\":\"d) If the square to the north-west is colder by at least 5 and if the moisture is at least 7 then it will rain.\",\"correct\":true,\"id\":\"d2ba7a47-fe6d-4a57-a07a-4aa83f0af8e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the best rule to answer the question, \u201cWhere will it rain?\u201d\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2023-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To keep children following the right behaviors\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To see the patterns in data that would allow a person to make a more accurate prediction\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) To explain the historical trends that occur in an area\",\"correct\":false},{\"content\":\"d) To measure the amount of rain that has fallen after a storm\",\"correct\":false,\"id\":\"6f5b2205-979f-4ca2-a12d-6389c5bf10a0\"}],\"prompt\":\"\u003Cp\u003E What is the purpose of a rule for predicting weather?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2024-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v2/lesson-5-post.json new file mode 100644 index 00000000..a96cb3e0 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-5-post.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Post-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143619, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Represent Wind Direction?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EThe word represent means to let one thing stand for another. For example, some people use the symbol of a\u003C/p\u003E\r\n\u003Cp\u003Eheart [\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png\" width=\"27\" height=\"23\" /\u003E] to represent (or stand for) love. \u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.\u003C/p\u003E\r\n\u003Cp\u003EHere are some different options Ms. Tevuk\u0026rsquo;s students are considering for representing wind direction.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull;\u0026nbsp;\u003Cstrong\u003EWind direction represented with degree number (between 0 and 360) based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png\" width=\"503\" height=\"230\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with letters based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png\" width=\"509\" height=\"234\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with arrows\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png\" alt=\"\" width=\"177\" height=\"181\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with different colors\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png\" alt=\"\" width=\"173\" height=\"177\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable style=\"border: solid 1px #000;\" cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use the \u003Cstrong\u003Eletters for the computer model\u003C/strong\u003E because there are only 8 options, so the computer will have simple information to calculate with and it won\u0026rsquo;t get stuck computing. We can use the \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because that way you can see which way the wind is going.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png\" width=\"267\" height=\"183\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png\" alt=\"\" width=\"270\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003ELet\u0026rsquo;s use \u003Cstrong\u003Enumber of degrees on the computer model\u003C/strong\u003E because computers do calculations with numbers. I think we should use \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because they make the pattern of wind direction easy to see.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png\" width=\"269\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png\" alt=\"\" width=\"271\" height=\"180\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Enumber of degrees for both the computer model and the map\u003C/strong\u003E because computers do calculations with numbers and our map should show what the computer calculated.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png\" width=\"257\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png\" width=\"253\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Ecolors for both the computer model and the map.\u003C/strong\u003E Colors are good for the map because it\u0026rsquo;s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png\" alt=\"\" width=\"275\" height=\"193\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png\" alt=\"\" width=\"275\" height=\"190\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147932-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1702-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning. \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1703-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17148-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10301-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10302-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10303-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v2/lesson-5-pre.json new file mode 100644 index 00000000..66d73883 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-5-pre.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Pre-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143617, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Represent Wind Direction?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EThe word represent means to let one thing stand for another. For example, some people use the symbol of a\u003C/p\u003E\r\n\u003Cp\u003Eheart [\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png\" width=\"27\" height=\"23\" /\u003E] to represent (or stand for) love. \u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.\u003C/p\u003E\r\n\u003Cp\u003EHere are some different options Ms. Tevuk\u0026rsquo;s students are considering for representing wind direction.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull;\u0026nbsp;\u003Cstrong\u003EWind direction represented with degree number (between 0 and 360) based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png\" width=\"503\" height=\"230\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with letters based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png\" width=\"509\" height=\"234\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with arrows\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png\" alt=\"\" width=\"177\" height=\"181\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with different colors\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png\" alt=\"\" width=\"173\" height=\"177\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable style=\"border: solid 1px #000;\" cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use the \u003Cstrong\u003Eletters for the computer model\u003C/strong\u003E because there are only 8 options, so the computer will have simple information to calculate with and it won\u0026rsquo;t get stuck computing. We can use the \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because that way you can see which way the wind is going.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png\" width=\"267\" height=\"183\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png\" alt=\"\" width=\"270\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003ELet\u0026rsquo;s use \u003Cstrong\u003Enumber of degrees on the computer model\u003C/strong\u003E because computers do calculations with numbers. I think we should use \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because they make the pattern of wind direction easy to see.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png\" width=\"269\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png\" alt=\"\" width=\"271\" height=\"180\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Enumber of degrees for both the computer model and the map\u003C/strong\u003E because computers do calculations with numbers and our map should show what the computer calculated.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png\" width=\"257\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png\" width=\"253\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Ecolors for both the computer model and the map.\u003C/strong\u003E Colors are good for the map because it\u0026rsquo;s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png\" alt=\"\" width=\"275\" height=\"193\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png\" alt=\"\" width=\"275\" height=\"190\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147929-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1698-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning. \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1699-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17146-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10295-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10296-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10297-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-5.json b/src/public/offline-activities/precipitating-change-v2/lesson-5.json new file mode 100644 index 00000000..fb911317 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-5.json @@ -0,0 +1,1139 @@ +{ + "description": "\u003Cp\u003EIdentifying Air Masses: Where does the air come from?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Identifying Air Masses", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143690, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how wind direction\u0026nbsp;impacts different air masses.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148015-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1767-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143599, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the\u0026nbsp;weather\u0026nbsp;- wind! The direction of the wind can give you clues about what\u0026nbsp;weather\u0026nbsp;to expect. And when the wind changes its direction drastically, interesting\u0026nbsp;weather\u0026nbsp;events can happen.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003EIn this lesson you will explore how air masses interact by\u0026nbsp;setting up a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more\u0026nbsp;weather\u0026nbsp;stations. In your Science Notebook, go to Lesson 5 to locate the following information:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Map with Additional Weather Stations and Data Tables\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Readings \u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;0 Alaskan Stations 7 am Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147905-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 5: IDENTIFYING AIR MASSES\\n\\n**WHERE DOES THE AIR COME FROM?**\\n\\nIn this lesson, students investigate the role that wind plays in determining the weather and are introduced to ways to identify and define an air mass. Air masses have a similar range of weather variables (temperature and moisture), have indistinct boundaries, and are categorized by the range of weather variables within them. The air within an air mass is constantly moving and precipitation can occur where air from different air masses mixes/interacts. Scientists use models to predict where precipitation will occur based on where different air masses interact, the type of air in each, and the movement of that air.\\n\\nTo begin to identify air masses, students will do a hands-on wind table activity, and get new temperature, air moisture content, and wind direction data for five additional weather stations. As in Lesson 4, the students once again construct a set of rules through a series of activities that allow them to uncover patterns in the data, investigate the mechanisms for these patterns, and abstract a rule that describes the relationship between wind direction, its associated air mass, and the resulting precipitation. \\n\\n###LEARNING GOALS\\nStudents will be able to:\\n\\n* Identify and define an air mass\\n\\n* Explain that air masses are defined by where they come from\\n\\n* Explain the role of wind in weather events\\n\\n* Identify where on a map two different masses are interacting/mixing\\n\\n* Develop a rule for how wind moves and test the rule with multiple kinds of air masses\\n\\n* Develop a rule to express the relationship between weather components (temperature and moisture) and air masses\\n\\nComputational Thinking (CT) skills introduced in this lessons can be found in the table below:\\n\\n| CT Skill | Definition |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed |\\n| Rule Testing | Investigating whether a rule will still be true in different situations |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model |\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10259-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (90 mins)\\n\\n**Key Activities:**\\n\\nLesson 5: Alaska Mainland - Identifying Air Masses\\n\\n* Activity 1- What is an Air Mass (45 mins)\\n\\n* Activity 2 - What happens when air masses collide (10 mins)\\n\\n* Activity 3 - How do air masses affect precipitation? (25 mins)\\n\\n* Post-Assessment - What Are the Rules for Fronts and Precipitation? (10 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - What is an Air Mass?\\n\\nPer Research Team:\\n\\n* Direct students to Lesson 5 in their Science Notebooks to find the following information:\\n * Lesson 5, Activity 1: Wind Table Instructions and Questions\\n * Lesson 5, Activity 2: Additional Weather Station Data\\n * Lesson 5, Activity 2: Weather Stations 7 pm Readings\\n * Lesson 5, Activity 2: Weather Stations 7 pm Interpolated\\n * Lesson 5, Activity 2: 7 pm Weather Station Data and 7 pm Radar Map\\n * Lesson 5, Activity 2: 7 am Weather Station Data \\n\\nPer Class:\\n\\n* Set up on one demonstration table that students can gather around: a wind fan, a piece of paper with a wind rose taped to the table, and a single weather vane. See below for a top-down view. \\n\\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5WIndTablesTopDownView1.jpg\\\" width=\\\"400\\\" height=\\\"350\\\"\u003E\\n\\n* To print the wind rose, click [here](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg) to download. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10260-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 5.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10261-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143600, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EMeasuring Wind with the Compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EOne way wind direction\u0026nbsp;can be measured is with\u0026nbsp;a weather\u0026nbsp;vane or air socks. When the wind blows, the\u0026nbsp;weather\u0026nbsp;vane rotates and lines up with the path the air is flowing. So,\u0026nbsp;wind direction\u0026nbsp;is determined by what direction the wind is blowing and measured in degrees (\u0026deg;).\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg\" alt=\"\" width=\"323\" height=\"328\" /\u003E\u003C/p\u003E\n\u003Cp\u003EIn this activity, you will use a Wind Table to map the movement of air on a grid representing a region in Alaska. Go to your Science Notebooks, Lesson 5, page 21, for further instructions and to record your observations.\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EWind Table\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png\" width=\"576\" height=\"510\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147906-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"\\n###Activity 1 - **What is an Air Mass?**\\nIn this activity students explore the patterns of air movement within and between air masses. Using a hands-on \u201cwind table,\u201d they engage in a tangible interaction with wind. By leveraging patterns from the previous activity dataset and the wind table, they will discover that when two air masses meet, the air converges. Weather scientists refer to these regions as fronts. \\n\\n###Wind Table Directions\\n * **1.Introduce the Wind Table.** Wind is one of the first things that atmospheric scientists look at when investigating the weather, but it can be difficult to understand by just looking at data and maps. A hands-on model is helpful to investigate a phenomenon like the wind.\\n\\n\\n * **2.Assign teams:** Assign research teams a Wind Table position number, either #1 or #2. \\n * **3.Wind tunnel position:** Have students place wind tunnel #1 and wind tunnel #2 according to the diagram in their Science Notebook for their assigned Team #.\\n * **4.Reminders:** Read over the things to keep in mind on page 21 in the Science Notebook, together as a class:\\n * **BE CAREFUL NOT TO PUT YOUR FINGERS NEAR THE FAN**\\n * Graph paper represents a region.\\n * A wind vane can be placed anywhere on the graph paper to determine what direction the wind is coming from.\\n * Record the wind direction by drawing an arrow in the direction the wind vane is pointing. (Recall that wind is always recorded showing the direction the wind is coming from.) If there is not a clear determination where the wind is coming from, then leave the square blank.\\n * Place a Styrofoam ball on the wind table to see the interaction between the two air masses.\\n * **5.Analyze air mass interactions** \\n\\n * Once all of the groups have finished mapping the wind direction, ask the students to determine the boundary of the two air masses by drawing a circle around the different air masses. \\n\\n * Ask the students if there was anywhere on the grid that they either had trouble deciding what direction to draw their arrow. Some students might remark that the wind vane wobbles or spins in the region between the two distinct air masses. Instruct the students to identify the diagonal region between the two air masses and circle this area with a green marker. \\n\\n* **6.Connecting the Wind Table to the interpolated map.** Ask students to compare Alaska Weather Stations: 7 pm Interpolated data with the wind map they created on their Wind Table. Lead a class conversation. See possible Discussion Points below. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10262-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Mass Properties \\n\\nTo a weather scientist, an air mass is a body of air with similar temperature and air moisture content. (Note that scientists also include pressure, but pressure is not covered in this unit.)\\n\\n###Wind Table Demonstration \\nThe compass rose describes the direction the wind is blowing in degrees. Wind coming directly from the South has a direction of 180\u00b0, from the East 90\u00b0, from the North 360\u00b0, etc. Place the fan to the \u201cNorth\u201d of the weather vane and turn it on. Move the weather vane so that it's at the center of the rose and have students read the wind direction from the rose. Then, move the fan to other locations. Ask students where you should move the fan to get a wind direction of, for example, 180\u00b0, 90\u00b0, 45\u00b0, etc. Move the fan to check their predictions. \\n\\n**Teacher Note:** Wind direction is determined by what direction the wind is coming from. This is a consequence of how it is measured. A weather scientist says, \u201cwinds coming from the northeast\u201d not \u201cwinds heading southwest.\u201d This distinction becomes very important when trying to map the flow of air over a region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10263-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143601, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EIDENTIFYING AIR MASSES\u003C/p\u003E\n\u003Cp\u003EIn Lesson 5 of your Science Notebook on pages 21-23, you have additional data weather station data and maps that show you the direction of the wind. On page 22, you will find a map that shows you the 7 pm reading from the additional weather stations. The arrows on the map represent the\u0026nbsp;wind direction. The data on page 23 of your Science Notebook, \"Weather Stations 7 pm Interpolated\" comes from an\u0026nbsp;interpolation\u0026nbsp;of wind direction\u0026nbsp;across the mainland of Alaska at 7 pm. See map below. Using the map on page 23, draw a line that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. It is your job to determine where you see that change in the\u0026nbsp;wind direction.\u003C/p\u003E\n\u003Cp\u003EStrategy for Identifying Two Air Masses:\u003C/p\u003E\n\u003Cp\u003E1. Make Sense of the Map:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each row and see if the arrows change direction as you move across the row.\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each column and see if the arrows change direction as you move down the column.\u0026nbsp;\u003Cbr /\u003E2. Identify where you are going to place your line.\u0026nbsp;\u003Cbr /\u003E3. Draw your line on your paper map.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg\" width=\"623\" height=\"382\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147907-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhy did you draw the line there?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208885-Embeddable::OpenResponse" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143602, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe line that you drew across your map represents a boundary between two\u0026nbsp;air masses. An air mass is a body of air with similar temperature and\u0026nbsp;air moisture\u0026nbsp;content. Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an\u0026nbsp;air moisture\u0026nbsp;content number at the bottom of the square.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg\" width=\"212\" height=\"292\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147908-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EDevelop a way to define the two air masses using the temperature and\u0026nbsp;air moisture\u0026nbsp;content values provided on the Alaskan Stations: Interpolated at 7 pm Map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg\" width=\"651\" height=\"429\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDefined Air Masses for the Alaska Mainland at 7 pm\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "DEFINING AIR MASSES", + "type": "Embeddable::Xhtml", + "ref_id": "147909-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cstrong\u003EAir Mass #1 Properties\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETemperature: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "colder", + "is_correct": false, + "prompt": "" + }, { + "choice": "warmer", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17140-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\" width=\"321\" height=\"88\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAir moisture: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "more moist", + "is_correct": false, + "prompt": "" + }, { + "choice": "more dry", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17141-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cstrong\u003EAir Mass #2 Properties\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETemperature: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #2 over land is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "colder", + "is_correct": false, + "prompt": "" + }, { + "choice": "warmer", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17142-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\" alt=\"\" width=\"354\" height=\"99\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAir moisture: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #2 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "more moist", + "is_correct": false, + "prompt": "" + }, { + "choice": "more dry", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17143-Embeddable::MultipleChoice" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143603, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EFronts\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EThe region between two different air masses is called a\u0026nbsp;\u003Cstrong\u003Efront.\u003C/strong\u003E Weather scientists are very interested in fronts because they are where the\u0026nbsp;weather\u0026nbsp;can change. Sometimes this change is very sudden.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147910-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EGo to page 24 in your Science Notebook and compare the 7 pm interpolated map and the 7 pm radar map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg\" alt=\"\" width=\"860\" height=\"300\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDiscuss with your research team and write a general statement that answers the question, \u0026ldquo;How do air masses affect where it rains?\"\u0026nbsp;\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147911-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Where is the front? Where is it raining? How do they compare?\u003Cbr /\u003E\u0026bull; How does the location of the precipitation on the radar map compare to the warm air mass, the cold air mass, and the front?\u003Cbr /\u003E\u0026bull; What is the air like where it is raining?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow do air masses affect where it rains?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208886-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EGo to page 25 in your Science Notebook and work with you research team to make a prediction for where you think it could rain at 7 am by drawing on the 7 am weather station map in your notebook.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png\" width=\"437\" height=\"263\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAlaska Stations: Interpolated at 7 am\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147912-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EExplain why you think it could rain in the area you selected.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208887-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Masses\\n\\nPossible discussion questions:\\n\\n* How do we identify air masses? (Responses should center on temperature, moisture and wind direction.)\\n\\n* What have you learned about the wind?\\n\\n* What questions do you still have?\\n\\n* Why do you think the wind is important in understanding the weather?\\n\\n\u2022 Are there any connections between the location of the air masses, fronts and precipitation? \\n\\n\u2022 Why do you think it is raining in some places and not others?\\n\\n**Teacher note:** Because air is invisible, students tend to have a lot of misconceptions about it. For example, the idea that air is a substance that can move is central to this lesson. It is easy to assume that students understand this concept when they may not. Asking probing questions can help bring their preconceptions to the forefront. The wind table will help students by giving them a concrete experience.\\n\\n###Describing the Front\\n\\n**Teacher note:** Student responses should be in terms of the actual movement of air and not just wind directions. The front is a particularly important area as students should identify it as a place where warm and cold air from the two air masses is coming together or mixing. Students will need a solid understanding of this concept as it will be revisited in the next lesson when they look at how fronts move over a region. \\n\\n###What is Happening at the Front\\n\\n**Teacher Note:** Students will likely notice that there is precipitation outside the area of the front and there are areas along the front that don\u2019t show precipitation. Make note of these discrepancies and remind them that, as we have seen before, we may not have all of the information to explain everything that we see. Some of their observations will be addressed in Lesson 5.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10264-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143604, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding (cont.)", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYou have made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am. The radar image shows where it was actually raining at 7 am.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png\" width=\"678\" height=\"500\" /\u003E\u003C/p\u003E\n\u003Cp\u003ERadar Image for 7 am\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147913-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow accurate was your prediction?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208888-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003ELook back at your original rule for the question, \u0026ldquo;How do air masses affect where it rains?\u0026rdquo; Using what you learned with the 7 am data, revise your rule.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208889-Embeddable::OpenResponse" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143605, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Air masses and precipitation", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWhen you feel the wind blow on your face, you are feeling air from another place. Sometimes it feels cold; sometimes it feels warm. The wind is what moves air. Weather scientists use\u0026nbsp;wind direction\u0026nbsp;to distinguish multiple air masses. What happens at the boundary of those two air masses? You will explore that question using a new Virtual Model. \u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147914-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EThis model shows wind as moving arrowheads and precipitation as green circles. There are two air masses. Identify where the front is.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EThen, by trying different settings of the temperature and moisture, see if you can make up a rule for what conditions produce precipitation along the front, and on which side of the front the precipitation will occur.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EStart by pressing \u003Cstrong\u003ESetup\u003C/strong\u003E and \u003Cstrong\u003ERun\u003C/strong\u003E. As you change temperatures and moisture settings you may want to press \u003Cstrong\u003ESetup\u003C/strong\u003E occasionally to start fresh. Be sure to discuss what you find with your research team.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147915-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe the position of the front, and explain how you know this.\u003C/p\u003E\r\n\u003Cp\u003EYou may use city names as landmarks.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208890-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Look at the temperature values for Air Mass 1 and Air Mass 2\u003Cbr /\u003E\u0026bull; Look at the moisture values for Air Mass 1 and Air Mass 2\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat are the conditions in the model that result in precipitation happening along a front?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208891-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Is the precipitation happening more on the colder side of the front?\u003Cbr /\u003E\u0026bull; Is the precipitation happening more on the warmer side of the front?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe specifically where the precipitation happens within the front.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208892-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003EMake sure to use precise language and include both temperature and moisture values.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EFinalize your rule statement for \u0026ldquo;How do air masses affect where it rains?\u0026rdquo;\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208893-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 3 - How Do Air Masses Affect Precipitation? Virtual Model\\n\\n**Objective:** To build students\u2019 rule refinement skills by experimenting with a model to figure out its built-in weather rules. In this model, precipitation falls under a variety of conditions that can be set by changing temperatures and moisture for two air masses. \\n\\nStudents can vary the temperature and moisture of two air masses in order to better understand how interacting air masses create patterns of rain at a front. Through this process, students will come up with an even more robust rule for predicting rain that involves interacting air masses. The specific computational thinking practice highlighted and practiced in this activity is **Rule Refinement**.\\n\\n**1. Class discussion about air mass properties.**Use the Alaska Weather Stations: 7am Interpolated map! [](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg) to remind students of the properties of the air masses in their regional weather system. See Discussion Points below for possible prompts. \\n\\n**2. Set up the model challenge.** \\n\\n* Have students recall the rule they developed to answer the question \u201cHow do air masses affect where it rains?\u201d \\n\\n* Students will use the Lesson 5 virtual model to help refine their rule.\\n\\n**3. Exploring the Virtual Model.** \\n\\nIntroduce the task, and give students time to explore the model. Then let them tell you what they discovered. They may notice:\\n\\n * The properties of the incoming air can be changed using the sliders on the left and bottom.\\n\\n * The direction of the wind can be seen with arrows and trails that can be turned on or off.\\n\\n * Precipitation appears as green circles with bigger circles meaning heavier rain.\\n\\n * Color of arrows correspond to temperature (Red = Warm, Blue = Cold, Purple = In Between)\\n\\n * Size of arrows correspond to air moisture (Small = dry, Large = moist or humid)\\n\\nYou may want to point out that\\n\\n * Even though the air in the model moves, the model shows airflow for a certain time. Time does not change.\\n\\n**4. Experiment with the Model to find the Rule**\\n\\nTell students that this model has a built-in rule for precipitation made by the model\u2019s programmer. Students\u2019 challenge is to discover the rule by experimenting with the model. \\n\\n * Students may find it helpful to express their experiments comparing warmer or colder temperatures and moister or drier moisture values instead of specific temperatures or air moisture values.\\n\\n * Give students time to play with the model and record their understanding of the model rule design in the questions that follow.\\n\\nNOTE: This is a fairly sophisticated weather model. Don\u2019t expect that students will discover the full precipitation rule. However, students should discover that the front runs up from the southwestern corner through Bethel and Anchorage with one air mass coming down from the northwest and the other up from the south and southwest. They may discover that generally, precipitation occurs along the front if there is a difference in temperature between the two air masses, and tends to form on the warmer side of the front. Although not always true, students will also see that precipitation forms other places than at the front. If the air masses are quite dry they may not produce precipitation. On the other hand, the warmer the air, the more moisture it can hold before precipitation appears. Very warm air can hold a lot of moisture producing a humid day without any rain.\\n\\nIf students are having trouble making rain, have them try a more systematic approach where they vary just one slider a step at a time to see the effect on precipitation. Be sure they know they have to wait a little while to see the effect of a change as the settings only affect the entering wind. Refreshing the screen by pressing Setup is often helpful. The point of this exercise is to see how well students can react to data and test as many options as possible. How deep is their thinking?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10265-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"After students have completed the questions on this page, project the model for the class, if possible. Ask students to discuss what they noticed about the model and what they learned from experimenting with it. The model is complex so there can be many viewpoints. The objective of this is to have students feel that they can learn from the model themselves. All observations are valid and up for discussion.\\n\\nPossible topics for discussion:\\n* It may be most valuable to discuss the questions student's answered on this page. An extended discussion could come from the question below.\\n\\n* What do the sizes and colors of the wind arrowheads mean? (The redder the warmer; the bluer the cooler; the larger the more moist; and the smaller the drier.)\\n\\n* Does precipitation fall only near the front? (No, it can fall where the arrowheads converge or come closer together.)\\n\\n* If the south settings and the west setting are the same, is there a front? (No, but the air may still converge.)\\n\\n* Do you see precipitation even where there is no front? What is a rule for it forming? (This is a little hard to figure out. By setting a high moisture level and then scanning through the temperatures, students can see that there are some intermediate temperatures that produce a lot of precipitation. At high temperatures, the air holds a lot of moisture; at low temperature the air holds little moisture.)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10266-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video to learn how students will use the Lesson 5 Virtual Model to test and refine their rule for, \\\"How do air masses affect precipitation?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: How Do Air Masses Affect Precipitation?, 2020, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10267-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Lesson 5:Air Mass Model", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/lesson-4-ak-v3.html", + "type": "MwInteractive", + "ref_id": "96961-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143693, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148892-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Can be determined using tools such as a weather vane, flag, or windsock\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Described by using the direction that the wind came from\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Described by using the direction that the wind is going to\",\"correct\":false},{\"content\":\"d) Only A and B\",\"correct\":true,\"id\":\"de903f5f-840c-40c0-91db-73c33017a515\"},{\"content\":\"e) Only A and C\",\"correct\":false,\"id\":\"3852ac5d-832a-4558-a526-1729c4a02a20\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of \u201cwind direction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2027-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A body of air with similar temperatures and air moisture content\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Where the weather begins\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) An air mass that is very dry with calm weather.\",\"correct\":false},{\"content\":\"d) The area between two colliding air masses of different temperatures that result in a change in weather.\",\"correct\":true,\"id\":\"9c06c9a6-3906-4afb-bdb1-066b8d22ad43\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cfront\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2029-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A measurement of the weight of the air.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) A body of air with similar temperatures and air moisture content.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) A piece of equipment that shows the direction the air is moving.\",\"correct\":false},{\"content\":\"d) The line between two fronts where the wind changes direction.\",\"correct\":false,\"id\":\"adf51964-b089-4d02-92c4-8ba5ddd87113\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is an air mass?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2030-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Compass rose and degree directions always tell where the wind is coming from.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Arrows always point where the wind is going.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Compass rose and degree directions always tell where the wind is going.\",\"correct\":false},{\"content\":\"d) Arrows always point where the wind is coming from.\",\"correct\":false,\"id\":\"4dcfa49c-9d65-44c8-ba59-30ad0232f898\"},{\"content\":\"e) Both A and B\",\"correct\":true,\"id\":\"cf4fa7b4-5048-40c0-acbe-478fffa79243\"},{\"content\":\"f) Both C and D\",\"correct\":false,\"id\":\"1dcfe310-0d3d-4879-bf47-0158c1310a6a\"},{\"content\":\"g) Both B and C\",\"correct\":false,\"id\":\"7ddeb9e9-b680-4974-8ed5-fc7aaeea1846\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EHow do meteorologists talk about the wind direction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2031-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) The colder drier air mass\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The colder wetter air mass\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The warmer wetter air mass\",\"correct\":true},{\"content\":\"d) The warmer drier air mass\",\"correct\":false,\"id\":\"cfed3538-0de4-4b54-8414-57afc6d5a849\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhen a front forms with the right conditions for precipitation, which air mass does the precipitation fall in?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2032-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v2/lesson-6-post.json new file mode 100644 index 00000000..b17f5c67 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-6-post.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143611, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Do We Make An Accurate Model to Predict Weather?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe need to run the model longer. The longer you run a computer model the better the prediction will be.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThere\u0026rsquo;s no way to make a computer model that can predict the weather. Computer models aren\u0026rsquo;t the real world, so they can\u0026rsquo;t predict what will happen in the real world.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules and testing the model predictions using Alaska weather data. That way we\u0026rsquo;ll know the model works.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147922-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10282-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10283-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n\u2022\\t**Delana\u2019s response (computer models can\u2019t predict the weather)** suggests the perspective that if you can\u2019t predict something perfectly then your model really doesn\u2019t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, \u201cthey are just models, so they don\u2019t really tell us what\u2019s going to happen in the real world.\u201d \\n\\nStudents who choose Delana\u2019s response could use support in developing understanding that computer models don\u2019t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow\u2019s weather at all. Students who choose Delana\u2019s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be \u201cgood enough\u201d to serve a purpose.\\n\\n###Middle Level \\n\u2022\\t**Alex\u2019s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn\u2019t the problem. \\n\\nStudents who choose Alex\u2019s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n\u2022\\t**Kalin\u2019s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it\u2019s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn\u2019t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n\u2022\\t**Sage\u2019s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model\u2019s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one\u2019s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10284-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1696-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1697-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v2/lesson-6-pre.json new file mode 100644 index 00000000..4288aee4 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-6-pre.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143610, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Do We Make An Accurate Model to Predict Weather?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe need to run the model longer. The longer you run a computer model the better the prediction will be.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThere\u0026rsquo;s no way to make a computer model that can predict the weather. Computer models aren\u0026rsquo;t the real world, so they can\u0026rsquo;t predict what will happen in the real world.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules and testing the model predictions using Alaska weather data. That way we\u0026rsquo;ll know the model works.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147921-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10279-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10280-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n\u2022\\t**Delana\u2019s response (computer models can\u2019t predict the weather)** suggests the perspective that if you can\u2019t predict something perfectly then your model really doesn\u2019t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, \u201cthey are just models, so they don\u2019t really tell us what\u2019s going to happen in the real world.\u201d \\n\\nStudents who choose Delana\u2019s response could use support in developing understanding that computer models don\u2019t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow\u2019s weather at all. Students who choose Delana\u2019s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be \u201cgood enough\u201d to serve a purpose.\\n\\n###Middle Level \\n\u2022\\t**Alex\u2019s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn\u2019t the problem. \\n\\nStudents who choose Alex\u2019s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n\u2022\\t**Kalin\u2019s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it\u2019s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn\u2019t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n\u2022\\t**Sage\u2019s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model\u2019s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one\u2019s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10281-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1694-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1695-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-6.json b/src/public/offline-activities/precipitating-change-v2/lesson-6.json new file mode 100644 index 00000000..c7cf1982 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-6.json @@ -0,0 +1,546 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Modeling Fronts", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143691, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how moving fronts impact the weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148016-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1768-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143607, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow do fronts move?\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EOver the last couple of weeks, you have been exploring different aspects of regional data. You are now ready to begin to apply all of that knowledge to the unit challenge:\u0026nbsp;What will the\u0026nbsp;weather\u0026nbsp;be in Anchorage 24 hours from now?\u003C/p\u003E\n\u003Cp\u003EUse the resources from your past lessons to help inform your prediction. Go to page 28 in your Science Notebooks to review the Lesson 1, Weather Radar Maps for the Alaskan Region, to help you.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png\" width=\"297\" height=\"230\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png\" width=\"303\" height=\"231\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147917-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 6: MODELING FRONTS\\n**HOW DO FRONTS MOVE?**\\n\\nIn this lesson, students identify the location, direction, and rate of movement of the front. When warm and cold air masses collide, a front forms resulting in a change in weather. Fronts move across regions causing the local weather to change, sometimes suddenly. Scientists use models to predict changes in weather using the properties (temperature and moisture) of the air masses and their movement patterns. In this lesson, the focus shifts to how students can use the data to solve a problem and less on learning about the components of weather (as they did in Lessons 1 - 5). The understandings developed in this lesson support students in developing their predictions for the unit challenge in Lesson 7. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Understand that air masses are constantly moving and their characteristics (temperature and moisture) change\\n\\n* Identify evidence of a front moving through a given location \\n\\n* Analyze the speed and direction of a front moving over a region from given data\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10269-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (1 hour and 30 minutes)\\n\\n**KEY ACTIVITIES:**\\nPre-Assessment: Lesson 6: What Do You Think? (10 mins)\\nActivity 1 - Where is the Front Going? (35 mins)\\n\\nActivity 2 - How Fast is the Front Moving? (45 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - Where is the Front Going?\\n\\nPer Research Team:\\n\\n* Tablet/laptop\\n\\n* Science Notebook\\n \\n * Front Visualizations at 11 am, 9 pm, and 7 am\\n\\n* Alaska Map Transparency\\n\\n* Straight edge (ruler)\\n\\n* Wet erase markers\\n\\n* Paper towels (for erasing)\\n\\nPer Class:\\n\\n* Water (for students to erase on their transparencies, if needed)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10270-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 6.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson6_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10271-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143608, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Where is the front going?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch the \"Lesson 6: Modeling Fronts\" video as a class and think about the question, \"Where is the\u0026nbsp;front\u0026nbsp;going?\" and \u0026ldquo;What do we need to know about the\u0026nbsp;front\u0026nbsp;to predict where it will be in the future?\u0026rdquo;\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003EUsing all the resources you have available to you, including your computational thinking skills, datasets, and the Virtual Model images showing the following time steps (11 am, 9 pm, and 7am), work with your research team to answer the question, \"In what direction is your front moving?\"\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg\" alt=\"\" width=\"743\" height=\"278\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147918-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EIn what direction is your front moving? Be as specific as you can.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208894-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow do you know the front is moving in that direction?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208895-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 1 - Where is the Front Going?\\n\\nThe focus of this activity is to provide students an opportunity to decompose a smaller challenge before they revisit the unit challenge in Lesson 7. In this activity, students use front visualizations from 11 am, 9 pm, and 7 am to see where the air masses are colliding (i.e., the front) at different times and to track the direction of the front. The specific computational thinking skills highlighted and practiced in this activity are **Decomposition**, **Pattern Recognition**, and **Model Evaluation**.\\n\\n###Activity Breakdown\\n\\n1.Play the Lesson 6 Virtual Model tutorial.\\n\\n2.Research teams use the Front Visualizations in their Science Notebooks and the Alaska Map Transparency to describe the direction the front is moving.\\n\\n3.In the student online activity, teams summarize their findings for the direction the front is moving within the region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10272-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Where is the Front Going? Strategy Tips \\nThe intention of this task is to provide students with a more open-ended task than seen in Lessons 1 - 4 and to give them an opportunity to apply their CT skills before solving the unit challenge. It is important that students work independently. The goal is to see if students can decompose the mini front challenge on their own. Additionally, this shift in perspective gives the students agency in their own learning to identify which CT skills are key to addressing this question. Students should realize that they know how to identify a front from Lesson 4, and have data at their disposal that can help them figure out the location of the front is at different points in time. Ideally, they will decompose \u201chow the front moves\u201d into two components: direction (which way it is heading) and speed (distance/time). Please see a list of possible discussion prompts to guide students through this process:\\n\\n\\n* Remind students that they learned how to identify a front in the last lesson, and that fronts can be an indicator of complex weather. \\n\\n* Point out that the unit challenge is to make a decision on if they are to continue, cancel, or postpone the Native Youth Olympics (NYO Games) and explain to them that figuring out where this front will be in 24 hours can help improve their prediction.\\n\\n* Raise the question: What do we need to know about the front to predict where it will be in the future? \\n\\n* Ask the research teams to:\\n\\n * Think about the question and brainstorm their ideas as a group.\\n * Identify the computational thinking skills they think will help them address this challenge. \\n\\n * Identify what features in the Virtual Model would help them answer this question. \\n * Identify what data they have from Lessons 1 - 5 that would help them answer this question.\\n* Have research teams answer the online activity questions.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10273-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Show this video to your students before directing them to page 29 in their Science Notebooks and have students answer the question, \\\"Where is the front going?\\\" Students will then use the transparency and the Virtual Model maps of the front from 11 am, 9 pm, and 7 am on pages 30-32 to determine how fast the front is moving. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials - Modeling Fronts.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson6WhereistheFrontGoing.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10274-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143609, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "How fast is the front moving?", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ENow that you and your research team have figured out which way the\u0026nbsp;front\u0026nbsp;is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it\u0026rsquo;s going to pass through there. Where the\u0026nbsp;front\u0026nbsp;is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the\u0026nbsp;weather.\u003C/p\u003E\n\u003Cp\u003ETo best predict where the\u0026nbsp;front\u0026nbsp;will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance over time). Once you know both speed and direction (from Activity 1) of the\u0026nbsp;front, your\u0026nbsp;weather\u0026nbsp;analysis will help you answer the question \u0026ldquo;How fast is the\u0026nbsp;front\u0026nbsp;moving?\u0026rdquo;\u003C/p\u003E\n\u003Cp\u003EYou will have the following tools to help you:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; Your\u0026nbsp;front images from the Virtual Model\u003Cbr /\u003E\u0026bull; A regional map transparency\u003Cbr /\u003E\u0026bull; Rulers and pens\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147919-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EUsing the available materials, develop a strategy for calculating the rate of the\u0026nbsp;front. Remember that speed equals distance an object moves divided by the time it takes the object to move to its new location.\u003C/p\u003E\r\n\u003Cp style=\"padding-left: 30px;\"\u003E\u003Cstrong\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Speed = Distance/Time\u003C/strong\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147920-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Your answer should be a rate or speed.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Speed is a measurement of distance over time.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Distance can be measured in units of kilometers, miles, etc.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Time can be measured in hours, days, etc.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow fast is the\u0026nbsp;front\u0026nbsp;moving? Be as specific as you can.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208896-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Explain your strategy.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Talk about what you did to come up with your answer.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe how your team figured out how fast the\u0026nbsp;front\u0026nbsp;is moving.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208897-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - How Fast is the Front Moving?\\n\\nThe focus of this activity is for students to analyze the visualization data they generated in Activity 1 and to develop a statement defining the speed of the front moving across the region. The activity ends with research teams developing a description of how fast the front is moving and recording it in the student online activity. The specific computational thinking practice highlighted and practiced in this activity is **Pattern Recognition**.\\n\\n\u003Cbr\u003E**1. Calculate the speed the front is moving.**\\n\\n* Pass out to the research teams their Science Notebooks with the front visualizations, Regional Map Transparency, wet erase markers, paper towels, and rulers. \\n\\n* Students may also want to use the [L1A2: Alaska Weather Station Data Sheet](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1A2_WeatherStationDataAK.png) and the [L4A1: Alaska Additional Weather Stations handouts](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4A1_AdditionalWeatherStationsDataSheet_AK.png). \\n\\n* The primary challenge for students will be deciding where on the front to use as a reference point when measuring the distance that it moves from timestamp to timestamp. Here are some possible suggestions to help the students with this:\\n\\n * Use a ruler to draw a straight line that approximates the middle of the front.\\n\\n * If the front is curved, choose an area that is generally straight.\\n\\n * Encourage students to be consistent, i.e., choose the same reference point every time.\\n\\n**2. Create an analysis statement.** Students use their tools to analyze the movement of the front and develop an analysis statement that summarizes the front movement. They record their statement in the student online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10275-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"The key to this activity is for students to mark up the Regional Map Transparency with the location of the front at each of the time steps that were captured in the visualizations. Once all the time steps are captured on one map (via a transparency marker), students can calculate the speed by measuring the distance between each location of the front and taking an average. Once they have an average distance the front moves and the amount of time between each front line, they can plug their number into a standard speed formula.\\n\\n\u003Cbr\u003EPlease see an example below of a final statement students will make after completing this activity:\u003Cbr\u003E\u003Cbr\u003E\\n**The front is moving from X to Y at a speed of Z.**\u003Cbr\u003E\u003Cbr\u003E\\n\\n\\n\\nStudents can use whatever terms make sense to them. For example, X can stand for \u201cleft,\\\" \u201cupper left,\\\" or \u201cNorthwest.\\\" Speed can be in recorded in squares per hour, squares per every two hours, kilometers per hour, etc.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10276-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a higher resolution and requires a higher bandwidth to download. Please use the lower resolution/lower bandwidth video option below if you have trouble downloading this video.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/alaska-pilot-final.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10277-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a lower resolution and should be used if you have trouble downloading the higher resolution video above.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska-Pilot-Final-low-res.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10278-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143692, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148894-Embeddable::Xhtml" + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-7.json b/src/public/offline-activities/precipitating-change-v2/lesson-7.json new file mode 100644 index 00000000..46172cbe --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v2/lesson-7.json @@ -0,0 +1,795 @@ +{ + "description": "\u003Cp\u003EAnalyzing Data and Making a Prediction: What will the weather be like 24 hours from now?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 7: Analyzing Data and Making a Prediction", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143696, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how\u0026nbsp;to make predictions for upcoming weather patterns.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148017-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1769-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143612, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYou have been planning the Alaskan Native Youth Olympics (NYO Games) for April 23rd at 7:00 am. This event has been planned for months and the committee is expecting over 500 people to attend. One of your jobs on this committee is to watch the\u0026nbsp;weather\u0026nbsp;and determine if the event is safe to proceed as\u0026nbsp;planned, or if it should be\u0026nbsp;postponed\u0026nbsp;or\u0026nbsp;even canceled.\u003C/p\u003E\n\u003Cp\u003EIt\u0026rsquo;s time to put your computational thinking skills to work!\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147923-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 7: ANALYZING DATA AND MAKING A PREDICTION\\n\\n**What will the local weather be 24 hours from now?**\\n\\nIn this lesson, students revisit the unit challenge and the original question posted to them in Lesson 1, \\\"Should the NYO Games proceed as planned, be postponed or canceled?\\\" Students assume the role of weather forecasters and make a weather prediction for Anchorage on April 23 at 7 am using regional data and models they have been exploring throughout this unit. This lesson is the unit\u2019s capstone experience. \\n\\n\u003Cbr\u003E**LEARNING GOALS:**\\n\\nStudents will be able to:\\n\\n* Articulate how data is visualized from a historic weather event (i.e., temperature, precipitation, wind speed, and wind direction)\\n\\n* Analyze data from a historical weather dataset and provide a description/explanation of the weather event\\n\\n* Make a prediction of future weather using data and reasoning to support their claim\\n\\n* Apply the CT skills they have developed in their analysis of the weather event\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10285-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 3 class periods (135 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\nActivity 1 - Reflecting on the Unit (45 mins)\\n\\nActivity 2 - Research Teams in Action(120 mins)\\n\\nConclusion (15 mins)\\n\\n\\n\u003Cbr\u003E**MATERIALS AND SET-UP:**\\n\\nActivity 2 - Research Teams in Action\\n\\n* Student Presentation Template in [Keynote](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key), [Google](https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing/?target=_blank), or [Powerpoint](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx)\\n\\n* Actual weather in Anchorage on day of event: Moderate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain.\\n\\nTemperature: 43\u00b0F/6.1\u00b0C\\nWind: 280\u00b0\\nPrecipitation: none\\n\\n* [Virtual Model](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) to display where the front will be at the time of the NYO games. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"!Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10286-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a lower resolution and requires a lower bandwidth and should be used if you have difficulty downloading the higher resolution/higher bandwidth option. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10287-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a higher resolution and requires a higher bandwidth. If you have difficulty downloading this video use the lower bandwidth option.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/ConcordAlaska7Final-low.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10288-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143613, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThroughout the Precipitating Change, you have been developing some computational thinking skills that real weather scientist use. Although we have not named the skill until now, notice in the table below the skills you have used to help decide if the NYO Games should proceed.\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr bgcolor=\"#D3D3D3\"\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u003Cstrong\u003EDefinition\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u0026nbsp;\u003C/th\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u003Cstrong\u003EComputational Thinking Skill\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EOrganizing a large amount of information (data) into smaller more manageable parts.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg\" width=\"235\" height=\"132\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp\u003E\u003Cstrong\u003EDecomposition\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EIn \u003Cstrong\u003ELesson 1, \u003C/strong\u003Eyou organized weather station data over a two-day period and radar maps of Alaska every 6 hours to make a prediction.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ERecognizing that data or information is repeating in a logical (expected) way.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png\" width=\"159\" height=\"181\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPattern Recognition\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you ran the model to see temperature data and patterns of data moving across the map. Before and after each run of the model, you interpolated data. You discovered that warm and cold spots on the map are at times on certain sides, and also you saw these spots change location over time.\u003C/p\u003E\r\n\u003Cp\u003EIn\u003Cstrong\u003E Lesson 3 and 4\u003C/strong\u003E, you ran the models to develop a general statement to answer the question \"Where does it rain?\".\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EEstimating an unknown value based on surrounding information.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg\" alt=\"\" width=\"206\" height=\"117\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EInterpolation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you made best guess estimates of the temperatures that were missing on the map.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EFollowing a pattern beyond the known data points.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg\" width=\"205\" height=\"116\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EExtrapolation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you predicted future weather based on patterns you observed in the changing temperatures you collected and visualized.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ECollecting and organizing data to better understand the topic.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg\" width=\"226\" height=\"127\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData Aggregation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you observed temperature data from a model and organized the data to see the \u0026ldquo;big picture\u0026rdquo;.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center; padding: 20px;\"\u003E\r\n\u003Ctd style=\"padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ESimplifying data to make it easier to interpret and find patterns.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg\" width=\"235\" height=\"132\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData Abstraction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you came up with a color scheme for temperature and changed how the data was represented from numbers to temperature categories, and then to colors.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EDeveloping a statement of how things work based on the patterns you observed.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png\" width=\"232\" height=\"143\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003ERule Abstraction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 3\u003C/strong\u003E, you made a generic statement to answer the question, \"Where does it rain?\".\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ELooking at the big picture by putting all the components together in the model to see if it works.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png\" width=\"240\" height=\"176\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EModel Evaluation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 4 and 5\u003C/strong\u003E, you ran a model to determine whether a rule was still true in different situations.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EModifying a rule to be more precise (exact, careful about details) to work in the model.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png\" width=\"254\" height=\"188\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003ERule Refinement\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 4 and 5\u003C/strong\u003E, as you ran the model, you were able to test your rule statements and make changes based on the model.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EForecast based on evidence about a future event.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png\" width=\"274\" height=\"143\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData-based Prediction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 6\u003C/strong\u003E, you selected data including temperature, air moisture and wind direction to help form a forecast about a future event.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147924-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": true, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich skill was the easiest to use? Please explain why.\u003C/p\u003E\r\n\u003Cp\u003Ea)\u0026nbsp;\u0026nbsp; \u0026nbsp;Decomposition\u003C/p\u003E\r\n\u003Cp\u003Eb)\u0026nbsp;\u0026nbsp; Pattern Recognition\u003C/p\u003E\r\n\u003Cp\u003Ec)\u0026nbsp;\u0026nbsp; Interpolation\u003C/p\u003E\r\n\u003Cp\u003Ed)\u0026nbsp;\u0026nbsp; Extrapolation\u003C/p\u003E\r\n\u003Cp\u003Ee)\u0026nbsp;\u0026nbsp; Data Aggregation\u003C/p\u003E\r\n\u003Cp\u003Ef)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eg)\u0026nbsp;\u0026nbsp; Rule Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eh)\u0026nbsp;\u0026nbsp; Model Evaluation\u003C/p\u003E\r\n\u003Cp\u003Ei)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Rule Refinement\u003C/p\u003E\r\n\u003Cp\u003Ej)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data-based Prediction\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208898-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": true, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich skill was the hardest to use? Please explain why?\u003C/p\u003E\r\n\u003Cp\u003Ea)\u0026nbsp;\u0026nbsp; Decomposition\u003C/p\u003E\r\n\u003Cp\u003Eb)\u0026nbsp;\u0026nbsp; Pattern Recognition\u003C/p\u003E\r\n\u003Cp\u003Ec)\u0026nbsp;\u0026nbsp; Interpolation\u003C/p\u003E\r\n\u003Cp\u003Ed)\u0026nbsp;\u0026nbsp; Extrapolation\u003C/p\u003E\r\n\u003Cp\u003Ee)\u0026nbsp;\u0026nbsp; Data Aggregation\u003C/p\u003E\r\n\u003Cp\u003Ef)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eg)\u0026nbsp;\u0026nbsp; Rule Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eh)\u0026nbsp;\u0026nbsp; Model Evaluation\u003C/p\u003E\r\n\u003Cp\u003Ei)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Rule Refinement\u003C/p\u003E\r\n\u003Cp\u003Ej)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data-based Prediction\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208899-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1 - Reflecting on the Unit\\n\\nThe focus of this activity is for students to reflect upon all the computational thinking skills they developed over the unit. The specific computational thinking skill highlighted and practiced in this lesson is **Data-based Prediction**.\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10289-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Synthesis Discussion\\n\\n* Introduce Data-based Prediction as the new CT skill used in this Lesson and discuss as a class using the prompts below: \\n\\n * How will you use this skill in this lesson?\\n\\n * How is your process for making your prediction different now in Lesson 7 than in Lesson 1?\\n\\n * Why do you think knowing this is important?\\n\\n* Review the Computational Thinking (CT) skills chart with your students and see if they can recall when they used the different skills throughout the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10290-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhich skill was the easiest to use? Please explain why.\u003C/p\u003E\\n\u003Cp\u003Ea) Decomposition\u003C/p\u003E\\n\u003Cp\u003Eb) Pattern Recognition\u003C/p\u003E\\n\u003Cp\u003Ec) Interpolation\u003C/p\u003E\\n\u003Cp\u003Ed) Extrapolation\u003C/p\u003E\\n\u003Cp\u003Ee) Data Aggregation\u003C/p\u003E\\n\u003Cp\u003Ef) Data Abstraction\u003C/p\u003E\\n\u003Cp\u003Eg) Rule Abstraction\u003C/p\u003E\\n\u003Cp\u003Eh) Model Evaluation\u003C/p\u003E\\n\u003Cp\u003Ei) Rule Refinement\u003C/p\u003E\\n\u003Cp\u003Ej) Data-based Prediction\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1895-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhich skill was the hardest to use? Please explain why?\u003C/p\u003E\\n\u003Cp\u003Ea) Decomposition\u003C/p\u003E\\n\u003Cp\u003Eb) Pattern Recognition\u003C/p\u003E\\n\u003Cp\u003Ec) Interpolation\u003C/p\u003E\\n\u003Cp\u003Ed) Extrapolation\u003C/p\u003E\\n\u003Cp\u003Ee) Data Aggregation\u003C/p\u003E\\n\u003Cp\u003Ef) Data Abstraction\u003C/p\u003E\\n\u003Cp\u003Eg) Rule Abstraction\u003C/p\u003E\\n\u003Cp\u003Eh) Model Evaluation\u003C/p\u003E\\n\u003Cp\u003Ei) Rule Refinement\u003C/p\u003E\\n\u003Cp\u003Ej) Data-based Prediction\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1896-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143614, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection (cont.)", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EYour Initial Prediction\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EAt the beginning of the unit you made a weather prediction.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147925-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"\",\"teacherTip\":\"You may need to turn on Lesson 1 again if students don't remember what their prediction was on (page ?) in Lesson 1. \",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10291-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EIn Lesson 1, Activity 2 - Making a Prediction, what did you predict the weather will be at 7:00 am in Anchorage on April 23?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1897-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"a6d209ef-958d-474c-a8db-e1b73b84fde7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"2ffa3691-0e65-48b2-8466-b8528d8de2b5\"}],\"prompt\":\"\u003Cp\u003EHow confident were you of your prediction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1898-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143615, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Research Teams in Action", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYour team will produce up to a two-minute weather forecast. You may use the template provided or you may develop your own. In addition, each team needs to write a script or outline that explains your forecast. Include in your forecast the following:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003ELocation of the front that you have been tracking\u003C/li\u003E\n\u003Cli\u003ETemperature\u003C/li\u003E\n\u003Cli\u003EPrecipitation\u003C/li\u003E\n\u003Cli\u003EWind Direction\u003C/li\u003E\n\u003Cli\u003EDecide to hold NYO or to cancel or postpone it due to bad weather preventing teams from flying into Anchorage\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003EYou can access the Student Presentation Template in \u003Ca href=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key\" target=\"_blank\" rel=\"noopener\"\u003EKeynote\u003C/a\u003E, \u003Ca href=\"https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing\" target=\"_blank\" rel=\"noopener\"\u003EGoogle\u003C/a\u003E, or \u003Ca href=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx\" target=\"_blank\" rel=\"noopener\"\u003EPowerpoint\u003C/a\u003E to prepare your forecast.\u003C/p\u003E\n\u003Cp\u003EYou have additional resources to help you:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EWeather\u0026nbsp;Station Data (temperature, moisture content, and\u0026nbsp;wind direction\u0026nbsp;from 10 stations for every 2 hours)\u003C/li\u003E\n\u003Cli\u003ERadar Images (shows\u0026nbsp;precipitation\u0026nbsp;in the region every 6 hours)\u003C/li\u003E\n\u003Cli\u003ERules for where\u0026nbsp;precipitation\u0026nbsp;is likely to occur\u003C/li\u003E\n\u003Cli\u003ERules for how heavy\u0026nbsp;precipitation\u0026nbsp;is likely to be when it occurs\u003C/li\u003E\n\u003Cli\u003EYour model analysis statement of the speed and direction the\u0026nbsp;front\u0026nbsp;is moving\u003C/li\u003E\n\u003C/ul\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147926-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"**1. Guide student teams to complete their weather forecast.**\\n\\n**2. Reveal the actual weather for 7 am on the NYO Games day.**\\n\\nIf possible, project this [MODEL](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) for your students. It is designed to easily show the progress of the front leading up to the NYO Games. It is designed to give your students a sense of completion with their work in this curriculum. It could also help frame a final discussion.\\n\\nThe model has wind data for 13 different days and times from the 10 Alaska weather stations. The drop-down menu, the slider, and the arrow buttons allow you to easily select the wind data in 2-hour intervals between April 21 at 7am to April 22 at 7 am. If you uncheck the \\\"wind-visible?\\\" and \\\"trails?\\\" features you can click through a 24 hour period to see how the wind changes at each station. Repeating this more slowly with one or both checkboxes set true, will show the progress of the front. Finally, press the Reveal button to see the wind at the beginning of the NYO Games. \\n\\nAlso, please see the **Anchorage weather report** below:\\nModerate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain. \\n\\n* Temperature: 43\u00b0F/6.1\u00b0C\\n* Wind: 280\u00b0\\n* Precipitation: none\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10292-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Students will be producing a weather forecast in this lesson. They will deciding to hold the Native Youth Olympics in Anchorage on April 23. Students could also recommend postponing NYO as well.\\n\\nStudents in their teams will be editing a presentation template or creating their own and will be develop a script or outline for the weather forecast to be presented to the class. Please see steps to guide students through the process below:\\n\\n1. Teams will edit the template for their forecast or create their own.\\n\\n2. Teams will write a script or outline to use in their forecast presentation.\\n\\n3. When the team is ready to present, project the presentation. \\n\\n4. As each team presents, video record the presentation.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10293-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143616, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs a research team, reflect on your experience both in this lesson and the weather unit as a whole.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147927-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDid your weather predictions get better at the end of the unit? Why or why not?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208901-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhy do you think weather forecasters sometimes get weather predictions wrong?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208902-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EImagine you could create your own computer weather model to make an even better weather prediction. What extra features would your model have? What could your model do?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208903-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat other problems do you think you could use computational thinking to solve?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208904-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Reflection on the computational thinking practices students learned throughout the unit. \\n\\n* Have a class discussion about computational thinking and weather. You can use the online activity questions as prompts:\\n\\n * Did your weather predictions get better at the end of the unit?\\n\\n * Why do you think weather forecasters sometimes get weather predictions wrong?\\n\\n * If you could have created your own computer weather model to make a better prediction, what else would you have your model do?\\n\\n * What other problems do you think you could use computational thinking to solve?\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10294-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} From 011636ea95ff582e2fb01f4869f66ca9ccdfa152 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 30 Mar 2021 12:11:29 -0400 Subject: [PATCH 177/242] changes to PC content as of 2021-03-30 11:45 ET --- .../precipitating-change-v2/lesson-2.json | 451 ++++++++++---- .../precipitating-change-v2/lesson-3.json | 587 +++++++++++++++--- .../precipitating-change-v2/lesson-4.json | 420 +++++++------ .../precipitating-change-v2/lesson-5.json | 29 +- .../precipitating-change-v2/lesson-7.json | 189 ++++++ 5 files changed, 1311 insertions(+), 365 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-2.json b/src/public/offline-activities/precipitating-change-v2/lesson-2.json index c7cc4fba..acd488a7 100644 --- a/src/public/offline-activities/precipitating-change-v2/lesson-2.json +++ b/src/public/offline-activities/precipitating-change-v2/lesson-2.json @@ -98,7 +98,7 @@ "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Lesson Opening", + "name": "Opening", "position": 2, "show_header": true, "show_info_assessment": true, @@ -244,10 +244,10 @@ "id": 143208, "is_completion": false, "is_hidden": false, - "layout": "l-6040", + "layout": "l-full-width", "name": "Weather Station - Data", "position": 3, - "show_header": false, + "show_header": true, "show_info_assessment": true, "show_interactive": true, "show_sidebar": false, @@ -257,25 +257,25 @@ "embeddables": [{ "embeddable": { "content": "\u003Cp\u003EAs scientists, it is important to record temperature data for analysis and to predict future\u0026nbsp;weather\u0026nbsp;events.\u0026nbsp;\u003C/p\u003E", - "is_callout": true, + "is_callout": false, "is_full_width": true, "is_hidden": false, "name": "Displaying Temperature", "type": "Embeddable::Xhtml", - "ref_id": "147376-Embeddable::Xhtml" + "ref_id": "149056-Embeddable::Xhtml" }, - "section": null + "section": "header_block" }, { "embeddable": { - "content": "\u003Cp\u003EGather information from each weather station shown on the map above. Each community on the map has a weather station. Click on the box (also called a cell) the community is in to see the temperature information given.\u0026nbsp;\u003C/p\u003E", + "content": "\u003Cp\u003EGather information from each weather station shown on the map below. Click\u0026nbsp;\u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun.\u003C/em\u003E\u0026nbsp;Then click each weather station to see the temperature observed for the communities across Alaska at the given time.\u003C/p\u003E\r\n\u003Cp\u003EThe boxes on the grid are called \u003Cem\u003Ecells\u003C/em\u003E and are identified with a letter and a number.\u0026nbsp;\u003C/p\u003E", "is_callout": true, "is_full_width": true, "is_hidden": false, - "name": "TASK ", + "name": "TASK", "type": "Embeddable::Xhtml", - "ref_id": "147377-Embeddable::Xhtml" + "ref_id": "149057-Embeddable::Xhtml" }, - "section": null + "section": "header_block" }, { "embeddable": { "plugin": { @@ -293,7 +293,7 @@ "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" } }, - "is_hidden": true, + "is_hidden": false, "is_full_width": true, "type": "Embeddable::EmbeddablePlugin", "ref_id": "9762-Embeddable::EmbeddablePlugin" @@ -372,7 +372,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57\u00b0F\",\"correct\":false},{\"content\":\"58\u00b0F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57\u00b0F\",\"correct\":false},{\"content\":\"58\u00b0F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik (cell C-2) at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -422,7 +422,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54\",\"correct\":false},{\"id\":\"2\",\"content\":\"55\",\"correct\":false},{\"id\":\"3\",\"content\":\"56\",\"correct\":false},{\"content\":\"57\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"55\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"56\u00b0F\",\"correct\":false},{\"content\":\"57\u00b0F\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome (cell B-4) at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -468,6 +468,31 @@ "linked_interactives": [] }, "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Known and Unknown Temperature Measurements ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", + "type": "MwInteractive", + "ref_id": "97687-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }] }, { "additional_sections": {}, @@ -511,7 +536,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell A-1.\u003C/p\u003E\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-A1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell A-1. [blank-A1]\u003C/p\u003E\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -561,7 +586,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell G-3.\u003C/p\u003E\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-G3]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell G-3. [blank-G3]\u003C/p\u003E\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -611,7 +636,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell B-7.\u003C/p\u003E\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-B7]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell B-7. [blank-B7]\u003C/p\u003E\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -661,7 +686,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"There are no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is no other data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It\u2019s difficult to see any patterns with only 8 community\u2019s weather station data.\",\"correct\":false},{\"content\":\"All of the above.\",\"correct\":true,\"id\":\"d0e3f559-c3b2-4ca2-92ee-3638f5a45188\"}],\"prompt\":\"\"}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"There are no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is no other data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It\u2019s difficult to see any patterns with only 8 community\u2019s weather station data.\",\"correct\":false},{\"content\":\"All of the above.\",\"correct\":true,\"id\":\"d0e3f559-c3b2-4ca2-92ee-3638f5a45188\"}],\"prompt\":\"\u003Cp\u003EWhy is it difficult to make predictions for these locations?\u003C/p\u003E\",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -789,7 +814,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell A-1. [blank-1]\u003C/p\u003E\",\"required\":false}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":3}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell A-1. [blank-1]\u003C/p\u003E\",\"required\":false}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -839,7 +864,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell G-3. [blank-1]\u003C/p\u003E\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell G-3. [blank-1]\u003C/p\u003E\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -889,7 +914,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell B-7. [blank-1]\u003C/p\u003E\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell B-7. [blank-1]\u003C/p\u003E\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -939,7 +964,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It\u2019s not easy, there are still no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is a lot more data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It\u2019s easier to see any patterns when more data is given.\",\"correct\":false},{\"content\":\"Both B and C.\",\"correct\":true,\"id\":\"b2eba22d-1bbc-4f20-a1c8-c534e9b6085c\"},{\"content\":\"Both A and B.\",\"correct\":false,\"id\":\"283878d3-83dc-407a-a6ab-972efc498d7a\"}],\"prompt\":\"\u003Cp\u003EWhy is it easier to predict the temperature more accurately on this data chart?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A. It\u2019s not easy, there are still no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B. There is a lot more data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. It\u2019s easier to see any patterns when more data is given.\",\"correct\":false},{\"content\":\"Both B and C.\",\"correct\":true,\"id\":\"b2eba22d-1bbc-4f20-a1c8-c534e9b6085c\"},{\"content\":\"Both A and B.\",\"correct\":false,\"id\":\"283878d3-83dc-407a-a6ab-972efc498d7a\"}],\"prompt\":\"\u003Cp\u003EWhy is it easier to predict the temperature more accurately on this data chart?\u003C/p\u003E\",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -1392,56 +1417,6 @@ "linked_interactives": [] }, "section": null - }, { - "embeddable": { - "name": "Kevin Short Video", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } - }, - "type": "ManagedInteractive", - "ref_id": "1722-ManagedInteractive", - "linked_interactives": [] - }, - "section": null }] }, { "additional_sections": {}, @@ -1474,7 +1449,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\" Forget the map and put all of the numbers in order like a number line.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Take the average of each column and each row for that part of Alaska.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Color code the data for certain temperatures. For example from 45-50 degrees F would be the color blue.\",\"correct\":true},{\"content\":\"Add every number together so that we get one really large number to work with. \",\"correct\":false,\"id\":\"eef89f7a-ecfd-48fa-80f7-973d6862bdb1\"}],\"prompt\":\"\u003Cp\u003EWhat are some ways we can make this weather data easier to look at but still use it for predicting weather across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\" Forget the map and put all of the numbers in order like a number line.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Take the average of each column and each row for that part of Alaska.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Color code the data for certain temperatures. For example from 45-50 degrees F would be the color blue.\",\"correct\":true},{\"content\":\"Add every number together so that we get one really large number to work with. \",\"correct\":false,\"id\":\"eef89f7a-ecfd-48fa-80f7-973d6862bdb1\"}],\"prompt\":\"\u003Cp\u003EWhat is one way we can make this weather data easier to understand for predicting weather across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -1577,10 +1552,10 @@ "id": 143626, "is_completion": false, "is_hidden": false, - "layout": "l-6040", + "layout": "l-full-width", "name": "Pattern Recognition (Cont.)", "position": 9, - "show_header": false, + "show_header": true, "show_info_assessment": true, "show_interactive": true, "show_sidebar": false, @@ -1589,15 +1564,15 @@ "toggle_info_assessment": false, "embeddables": [{ "embeddable": { - "content": "\u003Cp\u003EUse the key to the right of the data map to drag and drop the color tiles over the correct temperature for that color\u0026rsquo;s temperature range.\u003C/p\u003E", + "content": "\u003Cp\u003EOn the map below, click \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E. Then use the key to the right of the data map to drag and drop the color tiles over the correct temperature for that color\u0026rsquo;s temperature range. You can check your answers at any time.\u003C/p\u003E\r\n\u003Cp\u003EHint: To make coloring easier, a colored cell can be used to \"paint\" other cells by dragging over them.\u003C/p\u003E", "is_callout": true, "is_full_width": true, "is_hidden": false, - "name": "Task", + "name": "TASK", "type": "Embeddable::Xhtml", - "ref_id": "147943-Embeddable::Xhtml" + "ref_id": "149058-Embeddable::Xhtml" }, - "section": null + "section": "header_block" }, { "embeddable": { "name": "", @@ -1798,6 +1773,31 @@ "linked_interactives": [] }, "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Abstracting Temperature Ranges with Color ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "type": "MwInteractive", + "ref_id": "97688-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }] }, { "additional_sections": {}, @@ -1806,7 +1806,7 @@ "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Weather System", + "name": "Moving Weather Pattern", "position": 10, "show_header": true, "show_info_assessment": true, @@ -1817,7 +1817,7 @@ "toggle_info_assessment": false, "embeddables": [{ "embeddable": { - "content": "\u003Cp\u003EBelow you will see 3 sets of temperature data filled in on 3 different maps of different times. Understand that this data has been \u003Cstrong\u003Einterpolated\u003C/strong\u003E for you. Look at each of the maps in order to see if you can pick out any other patterns happening in the data.\u0026nbsp;\u003C/p\u003E", + "content": "\u003Cp\u003EWow!\u0026nbsp; You made it.\u0026nbsp;You have predicted temperature for unknown locations using interpolation. Now you understand how temperature data can cover the map with a limited number of real measurements.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003ENow, you'll start looking for patterns of temperature changes over time.\u003C/p\u003E\r\n\u003Cp\u003EBelow you will see three maps of temperature data each one at a different time during one day. Study the changes of temperature over time looking for patterns in the data.\u0026nbsp;\u003C/p\u003E", "is_callout": true, "is_full_width": true, "is_hidden": false, @@ -1938,15 +1938,15 @@ "position": 11, "show_header": true, "show_info_assessment": true, - "show_interactive": false, + "show_interactive": true, "show_sidebar": false, "sidebar": null, "sidebar_title": "Did you know?", "toggle_info_assessment": false, "embeddables": [{ "embeddable": { - "content": "\u003Cp\u003EWow!\u0026nbsp; You made it.\u0026nbsp; Now you can understand how this data was made and put together.\u0026nbsp; See below for some things we want you to do and look for.\u003C/p\u003E", - "is_callout": true, + "content": "\u003Cp\u003EWeather scientists use patterns in known data over time to make predictions in the future.\u003C/p\u003E\r\n\u003Cp\u003ENow, you'll try predicting temperature for a future time. You will need to make a plan or \u003Cem\u003Estrategy\u003C/em\u003E to make a good prediction.\u003C/p\u003E", + "is_callout": false, "is_full_width": true, "is_hidden": false, "name": "", @@ -1956,31 +1956,70 @@ "section": "header_block" }, { "embeddable": { - "content": "\u003Cp\u003EThings to do and look for:\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003Eturn on and off the temperature data.\u003C/li\u003E\r\n\u003Cli\u003Eturn on and off the color key.\u003C/li\u003E\r\n\u003Cli\u003Eslide through the times from 7am to 3pm.\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\u003Cp\u003ELook for data that was probably interpolated because it\u0026rsquo;s so far from a weather station in a community.\u003C/p\u003E", + "content": "\u003Cp\u003EThe map below shows temperature for three times separated by 4 hours.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cem\u003EYour job will be to predict the temperature for\u0026nbsp;\u003C/em\u003E\u003Cem\u003E\u003Cstrong\u003E4 hours after the last measurement shown.\u003C/strong\u003E\u003C/em\u003E\u003C/p\u003E\r\n\u003Cp\u003EThings to do and look for:\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003EUse the slider to see temperatures from 7am to 3pm.\u003C/li\u003E\r\n\u003Cli\u003ELook for patterns of temperature changes over time.\u003C/li\u003E\r\n\u003Cli\u003ETo see patterns, it may help to turn on and off the temperature data or the color key.\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\u003Cp\u003ERemember: always start by clicking \u003Cstrong\u003E\u003Cem\u003ESetup\u003C/em\u003E \u003C/strong\u003Eand \u003Cstrong\u003Ethen\u0026nbsp;\u003Cem\u003ERun\u003C/em\u003E\u003C/strong\u003E.\u003C/p\u003E", "is_callout": true, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "TASK", "type": "Embeddable::Xhtml", - "ref_id": "147946-Embeddable::Xhtml" + "ref_id": "149059-Embeddable::Xhtml" }, - "section": null + "section": "header_block" }, { "embeddable": { - "content": "\u003Cp\u003EPredict the temperature at 7pm for three cities as you did on page 4 but this time for 7pm.\u003C/p\u003E", - "is_callout": true, - "is_full_width": false, + "name": "Noorvik patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Noorvik11am]\",\"size\":5},{\"id\":\"[blank-Noorvik3pm]\",\"size\":5},{\"id\":\"[blank-Noorvik7am]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter the temperature in Noorvik (cell C-2) for 7am [blank-Noorvik7am], 11am [blank-Noorvik11am], and 3pm [blank-Noorvik3pm].\u003C/p\u003E\",\"hint\":\"\"}", "is_hidden": false, - "name": "Task", - "type": "Embeddable::Xhtml", - "ref_id": "147947-Embeddable::Xhtml" + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2143-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "name": "", + "name": "Noorvik prediction", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Noorvik at 7pm. [blank-1]\u003C/p\u003E\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Noorvik at 7pm. [blank-1]\u003C/p\u003E\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -2028,9 +2067,59 @@ "section": null }, { "embeddable": { - "name": "", + "name": "Nome patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Nome7am]\",\"size\":5,\"matchTerm\":\"56\"},{\"id\":\"[blank-Nome11am]\",\"size\":5,\"matchTerm\":\"51\"},{\"id\":\"[blank-Nome3pm]\",\"size\":5,\"matchTerm\":\"46\"}],\"prompt\":\"\u003Cp\u003EEnter the temperature in Nome (cell B-4) at 7am [blank-Nome7am], 11am [blank-Nome11am], and 3pm [blank-Nome3pm].\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2144-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Nome prediction", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Nome at 7pm. [blank-1]\u003C/p\u003E\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Nome at 7pm. [blank-1]\u003C/p\u003E\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -2076,6 +2165,81 @@ "linked_interactives": [] }, "section": null + }, { + "embeddable": { + "name": "Prediction Strategy", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDescribe your plan or strategy for making these predictions. For example, did you see a pattern in the temperatures that helped you come up with your prediction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2145-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Map with Three Observation Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "type": "MwInteractive", + "ref_id": "97689-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }] }, { "additional_sections": {}, @@ -2084,22 +2248,22 @@ "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Future Weather Prediction", + "name": "Future Weather Prediction (Cont.)", "position": 12, "show_header": true, "show_info_assessment": true, - "show_interactive": false, + "show_interactive": true, "show_sidebar": false, "sidebar": null, "sidebar_title": "Did you know?", "toggle_info_assessment": false, "embeddables": [{ "embeddable": { - "content": "\u003Cp\u003EWere you correct?\u003C/p\u003E", + "content": "\u003Cp\u003EThe map on this page is just the same as the previous page except it includes the measurement for 7pm. Use the slider to compare your prediction to the measured data.\u003C/p\u003E", "is_callout": true, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Checking Your Prediction", "type": "Embeddable::Xhtml", "ref_id": "147948-Embeddable::Xhtml" }, @@ -2108,7 +2272,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"37\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"38\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"39\u00b0F\",\"correct\":true},{\"content\":\"40\u00b0F\",\"correct\":false,\"id\":\"aa2fd593-c08e-40e2-a0fd-8c1af86eba2d\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"37\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"38\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"39\u00b0F\",\"correct\":true},{\"content\":\"40\u00b0F\",\"correct\":false,\"id\":\"aa2fd593-c08e-40e2-a0fd-8c1af86eba2d\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik (cell C-2) at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -2158,7 +2322,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"39\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"40\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"41\u00b0F\",\"correct\":false},{\"content\":\"42\u00b0F\",\"correct\":true,\"id\":\"bdf4731a-c1e0-4794-9f9a-ef03e07668b2\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"39\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"40\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"41\u00b0F\",\"correct\":false},{\"content\":\"42\u00b0F\",\"correct\":true,\"id\":\"bdf4731a-c1e0-4794-9f9a-ef03e07668b2\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome (cell B-4) at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -2208,7 +2372,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003E How far off was your estimate from the actual temperature for each city? (Hint: Subtract the two.)\u003C/p\u003E\"}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003E Does your prediction from the previous page match with the actual temperature for each city? If not, by how many degrees did they differ? Was your estimate high or low? \u003C/p\u003E\",\"hint\":\"\u003Cp\u003EHint: Subtract the estimate from the actual.\u003C/p\u003E\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -2254,6 +2418,81 @@ "linked_interactives": [] }, "section": null + }, { + "embeddable": { + "name": "Revised Patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDid your strategy for predicting the temperature from the previous page work? Explain your answer.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2146-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Temperature at Four Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "type": "MwInteractive", + "ref_id": "97691-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }] }, { "additional_sections": null, @@ -2273,7 +2512,7 @@ "toggle_info_assessment": false, "embeddables": [{ "embeddable": { - "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "content": "\u003Cp\u003EPlease check your knowledge of the information in this lesson with this short quiz.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -2528,7 +2767,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) From the southeast towards the northwest\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) From the East to the West\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) From the West to the East\",\"correct\":false},{\"content\":\"d) From the northwest towards the southeast\",\"correct\":true,\"id\":\"7fef3354-d757-4411-b431-288e9469301c\"}],\"enableCheckAnswer\":true}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) From the southeast towards the northwest\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) From the East to the West\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) From the West to the East\",\"correct\":false},{\"content\":\"d) From the northwest towards the southeast\",\"correct\":true,\"id\":\"7fef3354-d757-4411-b431-288e9469301c\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EIn the example that you have just worked with, which direction is the colder air moving?\u003C/p\u003E\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-3.json b/src/public/offline-activities/precipitating-change-v2/lesson-3.json index 28b87e8f..82e82222 100644 --- a/src/public/offline-activities/precipitating-change-v2/lesson-3.json +++ b/src/public/offline-activities/precipitating-change-v2/lesson-3.json @@ -109,11 +109,11 @@ "toggle_info_assessment": false, "embeddables": [{ "embeddable": { - "content": "\u003Cp\u003EEXPLORING PRECIPITATION, AIR MOISTURE AND TEMPERATURE\u003C/p\u003E\n\u003Cp\u003EHave you ever been caught without your parka or boots when you needed them? Predicting rain or snow\u0026nbsp;is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.\u003C/p\u003E\n\u003Cp\u003EAs weather scientists, you will continue to explore the weather maps. This time you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number).\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPrecipitation symbol = raindrops\u003C/strong\u003E\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg\" alt=\"\" width=\"588\" height=\"141\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "content": "\u003Cp\u003EHave you ever been caught without your parka or boots when you needed them? Predicting rain or snow\u0026nbsp;is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EAs weather scientists, you will continue to explore weather maps. Now, you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number). The larger this number is, the more moisture is contained in the air.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPrecipitation symbol = raindrops\u003C/strong\u003E\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg\" alt=\"\" width=\"588\" height=\"141\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", "is_callout": false, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Introducing Precipitation and Air Moisture ", "type": "Embeddable::Xhtml", "ref_id": "147890-Embeddable::Xhtml" }, @@ -245,7 +245,7 @@ "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Exploring Precipitation", + "name": "Data Aggregation", "position": 3, "show_header": true, "show_info_assessment": true, @@ -256,40 +256,163 @@ "toggle_info_assessment": false, "embeddables": [{ "embeddable": { - "content": "\u003Cp\u003EEXPLORING PRECIPITATION, AIR MOISTURE, AND TEMPERATURE\u003C/p\u003E\n\u003Cp\u003EPretend your classroom represents mainland Alaska and the same virtual storm will move through your classroom. As expert weather scientists, you already know how to combine the data (also known as data aggregation) from this event. This time you are going to focus on collecting precipitation data.\u003C/p\u003E", + "content": "\u003Cp\u003EThe map below shows the virtual storm that you have seen before. With the slider, you can see the storm at three times during one day. This map adds \u003Cem\u003Ehumidity\u003C/em\u003E and \u003Cem\u003Eprecipitation\u003C/em\u003E\u0026nbsp;data to the temperature data. Combining related data is called data aggregation.\u003C/p\u003E\r\n\u003Cp\u003ELook at the temperature and humidity data that is close to where the precipitation falls. Watch how the precipitation moves through the three times. Does the other data move too?\u0026nbsp;Can you see a pattern?\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EPrecipitation is shown with three raindrops:\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EThe air moisture and temperature data are shown this way:\u003Cimg class=\"\" src=\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/Temp-Moisture-Key.png\" alt=\"\" width=\"250\" height=\"173\" /\u003E\u0026nbsp;\u003C/p\u003E", "is_callout": false, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Mapping Precipitation and Air Moisture with Temperature in the Virtual Storm", "type": "Embeddable::Xhtml", "ref_id": "147891-Embeddable::Xhtml" }, "section": "header_block" }, { "embeddable": { - "content": "\u003Cp\u003EMap where it is raining at 3 pm. Work in teams to collect data to fill in the map. Look for relationships between rain and temperature.\u003C/p\u003E\r\n\u003Cp\u003EYou will see precipitation as the following symbol on your weather station.\u003C/p\u003E\r\n\u003Cp\u003EPrecipitation = raindrops\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, + "name": "Location of Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"G-4\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"id\":\"2\",\"content\":\"G-5\",\"correct\":false,\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"id\":\"3\",\"content\":\"D-6\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"content\":\"D-2\",\"correct\":false,\"id\":\"aff2b1f4-8271-4aaa-8338-fa504931c966\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"A-4\",\"correct\":false,\"id\":\"64b333f5-f8be-4b50-af1f-080692afa946\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"B-7\",\"correct\":true,\"id\":\"fc847408-296f-44b2-8aed-7e305f86ea70\",\"choiceFeedback\":\"Correct!\"}],\"prompt\":\"\u003Cp\u003ESet the map to show the data at 3 pm. Check all cells listed below that have precipitation.\u003C/p\u003E\",\"enableCheckAnswer\":true,\"customFeedback\":true}", "is_hidden": false, - "name": "TASK ", - "type": "Embeddable::Xhtml", - "ref_id": "147892-Embeddable::Xhtml" + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2163-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "\u003Cp\u003E\u0026bull; Where is it raining?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Where is it not raining?\u003C/p\u003E\r\n\u003Cp\u003E\u003Cbr /\u003E\u0026bull; Describe what the shape of the rain area looks like.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cbr /\u003E\u0026bull; Where on the map is there light (1 raindrop), moderate (2 raindrops) or heavy (3 raindrops) precipitation?\u003C/p\u003E", + "name": "Guiding Question #1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt is raining on the warmest cell on the map.\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2164-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Guiding Question #2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt is raining on the coldest cell on the map.\u003C/p\u003E\",\"enableCheckAnswer\":true}", "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003ELook at your classroom weather map for 3 pm. What patterns do you see when looking at both precipitation and temperature?\u003C/p\u003E", + "is_full_width": true, "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208877-Embeddable::OpenResponse" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2165-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { @@ -309,7 +432,7 @@ "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" } }, - "is_hidden": false, + "is_hidden": true, "is_full_width": true, "type": "Embeddable::EmbeddablePlugin", "ref_id": "10232-Embeddable::EmbeddablePlugin" @@ -332,7 +455,7 @@ "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" } }, - "is_hidden": false, + "is_hidden": true, "is_full_width": true, "type": "Embeddable::EmbeddablePlugin", "ref_id": "10233-Embeddable::EmbeddablePlugin" @@ -355,7 +478,7 @@ "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" } }, - "is_hidden": false, + "is_hidden": true, "is_full_width": true, "type": "Embeddable::EmbeddablePlugin", "ref_id": "10234-Embeddable::EmbeddablePlugin" @@ -363,26 +486,87 @@ "section": null }, { "embeddable": { - "aspect_ratio_method": "MANUAL", - "authored_state": null, + "name": "Data Relationships", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow would you describe the relationship between temperature and precipitation? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2166-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EOn the map below, click \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E, then use the slider to see the movement of the rain over three times of the day.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003ELook for patterns around where the rain falls. To see patterns, it may help to turn on or off the options of data, colors, and rain. For example, turn off \u003Cem\u003Eshow-data?\u003C/em\u003E and turn on \u003Cem\u003Eshow-colors?\u003C/em\u003E and \u003Cem\u003Eshow-rain?\u003C/em\u003E. Is it easier to see how temperature and precipitation move over time?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149127-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", "click_to_play": false, "click_to_play_prompt": null, "enable_learner_state": false, "full_window": false, "has_report_url": false, - "image_url": "", + "image_url": null, "is_full_width": true, "is_hidden": false, "model_library_url": null, - "name": "AK EP2", - "native_height": 752, - "native_width": 920, - "no_snapshots": false, - "show_delete_data_button": false, + "name": "Virtual Storm with Rain at Three Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": true, + "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://weather.concord.org/index.html?scenario=AK_EP2\r\n", + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", "type": "MwInteractive", - "ref_id": "96958-MwInteractive", + "ref_id": "97738-MwInteractive", "linked_interactives": [] }, "section": "interactive_box" @@ -390,57 +574,233 @@ }, { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 143590, + "id": 144724, "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Exploring Precipitation (Cont.)", + "name": "Data Aggregation, Continued", "position": 4, - "show_header": true, + "show_header": false, "show_info_assessment": true, "show_interactive": true, "show_sidebar": false, - "sidebar": "\u003Cp\u003EYour teacher will lead a class discussion.\u003C/p\u003E\n\u003Cp\u003EPossible discussion questions:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; What was your prediction for the weather in Boston on November 7th at 7am?\u003Cbr /\u003E\u0026bull; What was your strategy that helped you develop your prediction?\u003C/p\u003E", - "sidebar_title": "Class Discussion", + "sidebar": null, + "sidebar_title": "Did you know?", "toggle_info_assessment": false, "embeddables": [{ "embeddable": { - "content": "\u003Cp\u003EVIRTUAL STORM: EXPLORING PRECIPITATION, AIR MOISTURE, AND TEMPERATURE\u003C/p\u003E\n\u003Cp\u003EWhat kind of\u0026nbsp;weather\u0026nbsp;is good for playing outside? Can you determine at night what the\u0026nbsp;weather\u0026nbsp;will be the following morning? What kind of information goes into a\u0026nbsp;weather\u0026nbsp;prediction?\u003C/p\u003E", - "is_callout": false, + "name": "Guiding Question #3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt rains in cells that have an air moisture of 5 or below.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2171-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Guiding Question #4", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt rains in cells that have an air moisture of 10.\u003C/p\u003E\"}", + "is_hidden": false, "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2172-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Conditions for Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow would you describe the relationship between air moisture AND temperature AND precipitation? There are 3 parts to this answer.\u003C/p\u003E\"}", "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147893-Embeddable::Xhtml" + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2173-ManagedInteractive", + "linked_interactives": [] }, - "section": "header_block" + "section": null }, { "embeddable": { - "content": "\u003Cp\u003EAdd air moisture content to your classroom weather maps. Work in teams to collect data to fill in the map.\u003C/p\u003E", + "content": "\u003Cp\u003EThe map with temperature, air moisture, and precipitation appears again below. Look carefully for patterns and relationships between all three types of data: temperature, air moisture, and where precipitation occurs.\u0026nbsp;\u003C/p\u003E", "is_callout": true, "is_full_width": true, "is_hidden": false, "name": "TASK", "type": "Embeddable::Xhtml", - "ref_id": "147894-Embeddable::Xhtml" + "ref_id": "149129-Embeddable::Xhtml" }, - "section": null + "section": "interactive_box" }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "\u003Cp\u003E\u0026bull; Where is it the air most wet?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Where is the air most dry?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Is there a relationship between air moisture and temperature?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Is there a relationship between air moisture and precipitation?\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Is there a relationship between air moisture and where there is light (1 raindrop), moderate (2 raindrops) or heavy (3 raindrops) precipitation?\u003C/p\u003E", + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, "is_full_width": true, "is_hidden": false, - "is_prediction": false, + "model_library_url": null, "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003ELook at your classroom weather map for 3 pm. What relationships do you see between temperature, air moisture, and rain?\u003C/p\u003E", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208878-Embeddable::OpenResponse" + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97739-MwInteractive", + "linked_interactives": [] }, - "section": null + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143590, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Predicting Rain - First Try", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "\u003Cp\u003EYour teacher will lead a class discussion.\u003C/p\u003E\n\u003Cp\u003EPossible discussion questions:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; What was your prediction for the weather in Boston on November 7th at 7am?\u003Cbr /\u003E\u0026bull; What was your strategy that helped you develop your prediction?\u003C/p\u003E", + "sidebar_title": "Class Discussion", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe weather map of the virtual storm below shows temperature and air moisture data at 7pm. Use the relationships you just figured out between air moisture, temperature, and precipitation to try and predict where it will rain at 7pm.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "What Makes It Rain?", + "type": "Embeddable::Xhtml", + "ref_id": "147893-Embeddable::Xhtml" + }, + "section": "header_block" }, { "embeddable": { "plugin": { @@ -489,26 +849,101 @@ "section": null }, { "embeddable": { - "aspect_ratio_method": "MANUAL", - "authored_state": null, - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": "", + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EList the coordinates of the cells in which you think it will rain. (Example: B-1, F-5...) Explain why you think it will rain in those cells.\u0026nbsp;\u003C/p\u003E\"}", + "is_hidden": false, "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2169-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Virtual Storm at 7 pm - No Precipitation Shown", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png\"}", "is_hidden": false, - "model_library_url": null, - "name": "AK-EP2 ", - "native_height": 752, - "native_width": 920, - "no_snapshots": false, - "show_delete_data_button": false, + "is_full_width": true, "show_in_featured_question_report": true, - "url": "https://weather.concord.org/index.html?scenario=AK_EP2", - "type": "MwInteractive", - "ref_id": "96959-MwInteractive", + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2167-ManagedInteractive", "linked_interactives": [] }, "section": "interactive_box" @@ -521,7 +956,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "Quiz", - "position": 5, + "position": 6, "show_header": true, "show_info_assessment": true, "show_interactive": false, @@ -694,12 +1129,12 @@ }, { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144723, "is_completion": true, "is_hidden": false, "layout": "l-6040", "name": "Completion Page", - "position": 9, + "position": 7, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-4.json b/src/public/offline-activities/precipitating-change-v2/lesson-4.json index aace81f4..fcc1b7f6 100644 --- a/src/public/offline-activities/precipitating-change-v2/lesson-4.json +++ b/src/public/offline-activities/precipitating-change-v2/lesson-4.json @@ -191,11 +191,11 @@ }, { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 143594, + "id": 143595, "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Rule Abstraction", + "name": "Rule Abstraction (cont.)", "position": 3, "show_header": true, "show_info_assessment": true, @@ -206,152 +206,174 @@ "toggle_info_assessment": false, "embeddables": [{ "embeddable": { - "content": "\u003Cp\u003EVIRTUAL STORM: RULE ABSTRACTION CONVERSATION\u003C/p\u003E\n\u003Cp\u003EYour task is to take a deeper look at your data and start summarizing the patterns that you see with the goal of writing a one-sentence statement that brings together the most important patterns to answer the question, \u0026ldquo;Where does it rain?\u0026rdquo;.\u003C/p\u003E\n\u003Cp\u003ELet's start by looking at the data you recorded on your Storm Tracker sheet for 3pm in your Science Notebook (page 12).\u003C/p\u003E\n\u003Cp\u003EWork within your research team and circle the areas where you think it will rain based on temperature data.\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4StormTracker7pm.png\" width=\"444\" height=\"444\" /\u003E\u003C/p\u003E\n\u003Cp\u003ENow let's look at the Weather Map of the Alaska area at 7pm (see below). Work with your research team to find patterns that could help you identify where it will rain.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WeatherMAPB.jpg\" alt=\"\" width=\"750\" height=\"583\" /\u003E\u003C/p\u003E", + "content": "\u003Cp\u003EAs weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.\u003C/p\u003E\n\u003Cp\u003ETo make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.\u003C/p\u003E\n\u003Cp\u003EYou can practice making more specific rule statements by answering the questions below and testing them using the model.\u0026nbsp;\u003C/p\u003E", "is_callout": false, "is_full_width": true, "is_hidden": false, "name": "", "type": "Embeddable::Xhtml", - "ref_id": "147900-Embeddable::Xhtml" + "ref_id": "147901-Embeddable::Xhtml" }, "section": "header_block" }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", + "content": "\u003Cp\u003EUsing the following rule, which pair of grid squares (A, B, or C) will produce rain?\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png\" alt=\"\" width=\"70\" height=\"72\" /\u003E\u003Cbr /\u003EIF the upper square (the northwest square)\u0026nbsp;\u0026nbsp;is colder than the lower square by [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E5 or more degrees\u003C/span\u003E\u003C/strong\u003E ] AND IF the moisture of the lower square is [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E7 or more\u003C/span\u003E\u003C/strong\u003E ] THEN it rains in the lower square.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD\" width=\"424\" height=\"182\" /\u003E\u003C/p\u003E", + "is_callout": true, "is_full_width": true, "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EDiscuss with your research team where you expect it will rain at 7 pm on the Weather Map based on the patterns that you saw for 3 pm. Describe below where you think it will rain.\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208879-Embeddable::OpenResponse" + "name": "If / Then Rule", + "type": "Embeddable::Xhtml", + "ref_id": "149130-Embeddable::Xhtml" }, "section": null }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, + "name": "If / Then Rule 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":true},{\"id\":\"3\",\"content\":\"C.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhich square will have rain according to this rule?\u003C/p\u003E\",\"enableCheckAnswer\":true}", "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWrite a general statement that answers the question, \u0026ldquo;Where does it rain?\u0026rdquo; Use the pattern charts and your weather map to create your statement.\u003C/p\u003E", + "is_full_width": true, "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208880-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1 - Rule Abstraction\\n\\nStudents create a relational statement explaining where it is raining. The specific computational thinking practices highlighted and practiced in this activity are **Rule Abstraction**, **Rule Testing**, and **Rule Refinement**. We anticipate that this conversation is going to require heavy scaffolding to get students acquainted and comfortable with writing rules. Efforts here will pay off later in Lessons 5 when students must write additional rules for other weather phenomena.\\n\\n**1. Abstracting a rule.**\\n\\n* Introduce the task of writing a one-sentence statement that brings together the most important patterns to answer the question, \u201cWhere does it rain?\u201d \\n\\n**2. Gathering more information.**\\n\\n* Have students look at their Virtual Storm Tracker in their Science Notebook on page 12 and circle where they think it will rain at \\n 7 pm, using temperature only.\\n\\n* Have students look at the Weather Map 7 pm with Precipitation \u0026 Air Moisture Content in their Science Notebook on page 17 and discuss with their research teams where you think it will rain with this new information. \\n\\n* Once they have decided on where they think it will rain, direct students to enter their answer to the question in the appropriate place on this page. \\n\\n**3. Introduce rule abstraction.** Rule Abstraction is creating a general statement derived from exploring patterns in data in order to establish rule(s), principles, or insights that may be generalized to other contexts. This is the first step in creating a rule in order to make a simulation on a computer. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10246-Embeddable::EmbeddablePlugin" + "type": "ManagedInteractive", + "ref_id": "2174-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Drafting Rule Statements\\n\\n* In Lesson 3, students started to see relational connections between the weather variables for 3 pm and may or may not be able to fully articulate their current thinking. To help students develop a stronger voice and build a statement, they are asked to apply their understandings to another time step (7 pm). By applying their thinking at two different time steps, students validate their ideas and develop more formalized ideas on how they think the weather variables relate to each other. \\n\\n* Advise students to try to merge ideas from what they learned in Lessons 2 and 3. \\n\\n* Ask students to be selective in what patterns they think are strongest in explaining precipitation. \\n\\n* Explain to students that they just did something that weather scientists do called Rule Abstraction (creating a general statement derived from exploring patterns in data in order to establish rule(s), principles or insights that may be generalized to other contexts). This is the first step in creating a rule in order to make a simulation on a computer. \\n\\n\\n**Teacher Note**: While statements will vary in construction, level of detail, and even correctness, check in with teams to ensure that statements include some notion of both air moisture content AND temperature being important drivers of whether it will rain. If a team is stuck on one variable or the other, you might point out to them places on the Weather Map posters where their statement fails to hold true. For example, if students are ignoring air moisture, draw their attention to a place on the map where the temperature is warm but it\u2019s not raining.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, + "name": "If / Then Rule 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":true},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. \",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhich square will have rain according to the following rule: \u003C/p\u003E\\n\u003Cp\u003E\u0026quot;IF the upper square (the northwest square) is colder than the lower square by [2 degrees] AND IF the moisture of the lower square is [8 or above] THEN it rains in the lower square.\u0026quot;\u003C/p\u003E\",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10247-Embeddable::EmbeddablePlugin" + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2175-ManagedInteractive", + "linked_interactives": [] }, "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143595, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Rule Abstraction (cont.)", - "position": 4, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EAs weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.\u003C/p\u003E\n\u003Cp\u003ETo make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.\u003C/p\u003E\n\u003Cp\u003EYou can practice making more specific rule statements by answering the questions below and testing them using the model.\u0026nbsp;\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147901-Embeddable::Xhtml" - }, - "section": "header_block" }, { "embeddable": { - "custom": false, - "enable_check_answer": true, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, + "name": "If / Then Rule 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C.\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhich square will rain according to the following rule:\u003C/p\u003E\\n\u003Cp\u003E\u0026quot;If the upper square (the northwest square) is colder than the lower square by [5 degrees] AND IF the moisture of the lower square is [6] THEN it rains in the lower square.\u0026quot;\u003C/p\u003E\"}", "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EUsing the following rule, which pair of grid squares (A, B, or C) will produce rain?\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png\" alt=\"\" width=\"70\" height=\"72\" /\u003E\u003Cbr /\u003EIF the upper square (the northwest square)\u0026nbsp;\u0026nbsp;is colder than the lower square by at least [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E5 degrees\u003C/span\u003E\u003C/strong\u003E ] AND IF the moisture of the lower square is at least [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E7\u003C/span\u003E\u003C/strong\u003E ] THEN it rains in the lower square.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD\" width=\"424\" height=\"182\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EWhich square will have rain according to this rule?\u003C/p\u003E", - "show_as_menu": false, + "is_full_width": true, "show_in_featured_question_report": true, - "choices": [{ - "choice": "A", - "is_correct": false, - "prompt": "" - }, { - "choice": "B", - "is_correct": true, - "prompt": "" - }, { - "choice": "C", - "is_correct": false, - "prompt": "" - }], - "type": "Embeddable::MultipleChoice", - "ref_id": "17138-Embeddable::MultipleChoice" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2176-ManagedInteractive", + "linked_interactives": [] }, "section": null }] @@ -362,8 +384,8 @@ "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Testing the Rules with a Model ", - "position": 5, + "name": "Finding the Rule with a Model ", + "position": 4, "show_header": false, "show_info_assessment": true, "show_interactive": true, @@ -373,77 +395,102 @@ "toggle_info_assessment": false, "embeddables": [{ "embeddable": { - "content": "\u003Cp\u003EPress \u003Cstrong\u003ESetup\u003C/strong\u003E and then \u003Cstrong\u003ERun\u003C/strong\u003E. Explore all the features of this model. Discuss with your research team what each feature shows you.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cbr /\u003EAfter you have explored the model, refine your precipitation rule until you have found the best fit between the actual precipitation and the precipitation predicted by the rule. Test your rule with all of the data sets.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK", - "type": "Embeddable::Xhtml", - "ref_id": "147902-Embeddable::Xhtml" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, + "name": "Best Rule", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat is the best and final rule to fit where it actually rains in our virtual storm? (Hint: write the sentence in the model, \u0026quot;If the square to the northwest is colder by at least _____ AND IF the air moisture is at least _____ THEN it rains.\u0026quot;)\u003C/p\u003E\"}", "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhat\u0026rsquo;s the best rule to fit the actual precipitation?\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208881-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EDid your rule fit the actual precipitation perfectly for all data sets?\u0026nbsp; Please explain why or why not.\u003C/p\u003E", "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208882-Embeddable::OpenResponse" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2177-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, + "name": "How Well Does the Rule Work", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDid your rule fit the actual precipitation 100% for all the different times? Please explain why or why not.\u003C/p\u003E\"}", "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EFor a weather model, list as many reasons as you can think of for why a rule might not predict the actual data perfectly.\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208883-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhat is your final rule statement that answers the question, \"Where does it rain?\"\u003C/p\u003E", "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208884-Embeddable::OpenResponse" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2178-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { @@ -561,6 +608,17 @@ "ref_id": "10252-Embeddable::EmbeddablePlugin" }, "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EPress \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E. Then, use the sliders to refine your precipitation rule until you have found the best fit between the actual precipitation shown in light blue and the precipitation predicted by the rule in dark blue. Test your rule by clicking \u003Cem\u003EShow Rain with These Rules\u003C/em\u003E.\u003C/p\u003E\r\n\u003Cp\u003ETry your rule with all of the data sets.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149131-Embeddable::Xhtml" + }, + "section": "interactive_box" }, { "embeddable": { "aspect_ratio_method": "MANUAL", @@ -595,7 +653,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "Quiz", - "position": 6, + "position": 5, "show_header": true, "show_info_assessment": true, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-5.json b/src/public/offline-activities/precipitating-change-v2/lesson-5.json index fb911317..b9fa3feb 100644 --- a/src/public/offline-activities/precipitating-change-v2/lesson-5.json +++ b/src/public/offline-activities/precipitating-change-v2/lesson-5.json @@ -273,14 +273,14 @@ "position": 4, "show_header": true, "show_info_assessment": true, - "show_interactive": false, + "show_interactive": true, "show_sidebar": false, "sidebar": null, "sidebar_title": "Did you know?", "toggle_info_assessment": false, "embeddables": [{ "embeddable": { - "content": "\u003Cp\u003EIDENTIFYING AIR MASSES\u003C/p\u003E\n\u003Cp\u003EIn Lesson 5 of your Science Notebook on pages 21-23, you have additional data weather station data and maps that show you the direction of the wind. On page 22, you will find a map that shows you the 7 pm reading from the additional weather stations. The arrows on the map represent the\u0026nbsp;wind direction. The data on page 23 of your Science Notebook, \"Weather Stations 7 pm Interpolated\" comes from an\u0026nbsp;interpolation\u0026nbsp;of wind direction\u0026nbsp;across the mainland of Alaska at 7 pm. See map below. Using the map on page 23, draw a line that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. It is your job to determine where you see that change in the\u0026nbsp;wind direction.\u003C/p\u003E\n\u003Cp\u003EStrategy for Identifying Two Air Masses:\u003C/p\u003E\n\u003Cp\u003E1. Make Sense of the Map:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each row and see if the arrows change direction as you move across the row.\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each column and see if the arrows change direction as you move down the column.\u0026nbsp;\u003Cbr /\u003E2. Identify where you are going to place your line.\u0026nbsp;\u003Cbr /\u003E3. Draw your line on your paper map.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg\" width=\"623\" height=\"382\" /\u003E\u003C/p\u003E", + "content": "\u003Cp\u003EIDENTIFYING AIR MASSES\u003C/p\u003E\r\n\u003Cp\u003EIn Lesson 5 of your Science Notebook on pages 21-23, you have additional data weather station data and maps that show you the direction of the wind. On page 22, you will find a map that shows you the 7 pm reading from the additional weather stations. The arrows on the map represent the\u0026nbsp;wind direction. The data on page 23 of your Science Notebook, \"Weather Stations 7 pm Interpolated\" comes from an\u0026nbsp;interpolation\u0026nbsp;of wind direction\u0026nbsp;across the mainland of Alaska at 7 pm. See map below. Using the map on page 23, draw a line that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. It is your job to determine where you see that change in the\u0026nbsp;wind direction.\u003C/p\u003E\r\n\u003Cp\u003EStrategy for Identifying Two Air Masses:\u003C/p\u003E\r\n\u003Cp\u003E1. Make Sense of the Map:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each row and see if the arrows change direction as you move across the row.\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each column and see if the arrows change direction as you move down the column.\u0026nbsp;\u003Cbr /\u003E2. Identify where you are going to place your line.\u0026nbsp;\u003Cbr /\u003E3. Draw your line on your paper map.\u003C/p\u003E", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -305,6 +305,31 @@ "ref_id": "208885-Embeddable::OpenResponse" }, "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Identifying Air Masses and Fronts", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4.html", + "type": "MwInteractive", + "ref_id": "97692-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }] }, { "additional_sections": {}, diff --git a/src/public/offline-activities/precipitating-change-v2/lesson-7.json b/src/public/offline-activities/precipitating-change-v2/lesson-7.json index 46172cbe..75380722 100644 --- a/src/public/offline-activities/precipitating-change-v2/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v2/lesson-7.json @@ -757,6 +757,195 @@ }, "section": null }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144656, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Presentation", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp style=\"padding-left: 30px;\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/L7instructionsscale.png\" width=\"720\" height=\"329\" /\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149053-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/weather_forecasting_tools.png\" width=\"720\" height=\"215\" /\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149055-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{\"b74ab519-8aa4-47d3-999b-39455379f007\":{\"left\":203,\"top\":20},\"9645999f-9613-4843-9cda-cb216a1d39c2\":{\"left\":107,\"top\":113},\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\":{\"left\":202,\"top\":187}}},\"draggableItems\":[{\"id\":\"f6793037-7a87-445d-8772-9c9eb7855150\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"b74ab519-8aa4-47d3-999b-39455379f007\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"9645999f-9613-4843-9cda-cb216a1d39c2\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"f83a70e2-efee-4bba-a64e-1eef54f47478\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "bc60f7570392901235434f601d724026a4e4c3b1", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/branch/master/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2125-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":800,\"canvasHeight\":500,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "bc60f7570392901235434f601d724026a4e4c3b1", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/branch/master/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2126-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"\u003Cp\u003EDrag following items:\u003C/p\u003E\",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "a309b989c0cff0915fe71fcdf16dd116a6231c9b", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2127-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] }, { "additional_sections": {}, "embeddable_display_mode": "stacked", From 1a636bb0d6208b9a5f7f2b35ac9575a783f3d7d6 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 30 Mar 2021 12:20:38 -0400 Subject: [PATCH 178/242] pc manifest version 1 copied to version 2 this is the base so we can see what changes are made in version 2 --- .../precipitating-change-v2.json | 224 ++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 src/public/offline-manifests/precipitating-change-v2.json diff --git a/src/public/offline-manifests/precipitating-change-v2.json b/src/public/offline-manifests/precipitating-change-v2.json new file mode 100644 index 00000000..06f743f9 --- /dev/null +++ b/src/public/offline-manifests/precipitating-change-v2.json @@ -0,0 +1,224 @@ +{ + "name": "Alaska 2021 - Precipitating Change", + "activities": [ + { + "name": "Interview - Predicting the Weather Without the Weather Channel", + "contentUrl": "offline-activities/precipitating-change-v1/interview.json", + "resourceUrl": "https://authoring.concord.org/activities/11559" + }, + { + "name": "Lesson 1: Making an Initial Prediction", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-1.json", + "resourceUrl": "https://authoring.concord.org/activities/11501" + }, + { + "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-1-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11630" + }, + { + "name": "Lesson 2: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-2-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11565" + }, + { + "name": "Lesson 2: Displaying Temperature Data", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-2.json", + "resourceUrl": "https://authoring.concord.org/activities/11526" + }, + { + "name": "Lesson 2: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-2-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11581" + }, + { + "name": "Lesson 3: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-3-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11583" + }, + { + "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-3.json", + "resourceUrl": "https://authoring.concord.org/activities/11582" + }, + { + "name": "Lesson 3: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-3-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11584" + }, + { + "name": "Lesson 4: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-4-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11586" + }, + { + "name": "Lesson 4: Building Rules", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-4.json", + "resourceUrl": "https://authoring.concord.org/activities/11585" + }, + { + "name": "Lesson 4: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-4-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11587" + }, + { + "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-5-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11593" + }, + { + "name": "Lesson 5: Identifying Air Masses", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-5.json", + "resourceUrl": "https://authoring.concord.org/activities/11588" + }, + { + "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-5-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11595" + }, + { + "name": "Lesson 6: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-6-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11590" + }, + { + "name": "Lesson 6: Modeling Fronts", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-6.json", + "resourceUrl": "https://authoring.concord.org/activities/11589" + }, + { + "name": "Lesson 6: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-6-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11591" + }, + { + "name": "Lesson 7: Analyzing Data and Making a Prediction", + "contentUrl": "offline-activities/precipitating-change-v1/lesson-7.json", + "resourceUrl": "https://authoring.concord.org/activities/11592" + } + ], + "cacheList": [ + "https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4StormTracker7pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WeatherMAPB.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png", + "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", + "https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png", + "https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png", + "https://weather.concord.org/index.html?scenario=AK_EP2", + "https://weather.concord.org/index.html?scenario=AK_EP2\r\n", + "models-resources/glossary-plugin/version/v3.12.0/manifest.json", + "models-resources/glossary-plugin/version/v3.12.0/plugin.js", + "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/precip-models/ak-w-cities.png", + "models-resources/precip-models/lesson-4-ak-v3.html", + "models-resources/precip-models/precip-rule-ak-v5.html", + "models-resources/question-interactives/version/v1.1.0/carousel/", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/image/", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/open-response/", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/video-player/", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" + ] +} From cddc222aa1ecd66c41cc5fa01e8bb50eea8e0aba Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 30 Mar 2021 13:06:29 -0400 Subject: [PATCH 179/242] Switch glossary to use s3 url This was done so that it isn't included in the build and it isn't rewriten to a local models-resources url so the glossary dashboard can load it. --- src/public/offline-activities/glossary-test-v1.json | 2 +- src/public/offline-manifests/glossary-test-v1.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/public/offline-activities/glossary-test-v1.json b/src/public/offline-activities/glossary-test-v1.json index 2a8c6765..719ba59e 100644 --- a/src/public/offline-activities/glossary-test-v1.json +++ b/src/public/offline-activities/glossary-test-v1.json @@ -66,7 +66,7 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"glossary-files/alaska.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-manifests/glossary-test-v1.json b/src/public/offline-manifests/glossary-test-v1.json index 66180776..99172a48 100644 --- a/src/public/offline-manifests/glossary-test-v1.json +++ b/src/public/offline-manifests/glossary-test-v1.json @@ -59,8 +59,8 @@ "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ.woff2", "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ.woff2", "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXg.woff2", + "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json", "models-resources/glossary-plugin/branch/176579659-add-offline-saves/manifest.json", - "models-resources/glossary-plugin/branch/176579659-add-offline-saves/plugin.js", - "glossary-files/alaska.json" + "models-resources/glossary-plugin/branch/176579659-add-offline-saves/plugin.js" ] } \ No newline at end of file From b606c6eeb070d5b9a8946d76f544a4d706f4cb35 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 30 Mar 2021 13:32:57 -0400 Subject: [PATCH 180/242] updated manifest after visiting all activity pages --- .../precipitating-change-v2.json | 158 ++++++++++++++---- 1 file changed, 129 insertions(+), 29 deletions(-) diff --git a/src/public/offline-manifests/precipitating-change-v2.json b/src/public/offline-manifests/precipitating-change-v2.json index 06f743f9..ceaa441c 100644 --- a/src/public/offline-manifests/precipitating-change-v2.json +++ b/src/public/offline-manifests/precipitating-change-v2.json @@ -3,112 +3,116 @@ "activities": [ { "name": "Interview - Predicting the Weather Without the Weather Channel", - "contentUrl": "offline-activities/precipitating-change-v1/interview.json", + "contentUrl": "offline-activities/precipitating-change-v2/interview.json", "resourceUrl": "https://authoring.concord.org/activities/11559" }, { "name": "Lesson 1: Making an Initial Prediction", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-1.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-1.json", "resourceUrl": "https://authoring.concord.org/activities/11501" }, { "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-1-post.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-1-post.json", "resourceUrl": "https://authoring.concord.org/activities/11630" }, { "name": "Lesson 2: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-2-pre.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-2-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11565" }, { - "name": "Lesson 2: Displaying Temperature Data", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-2.json", + "name": "Lesson 2: Displaying Temperature Data ", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-2.json", "resourceUrl": "https://authoring.concord.org/activities/11526" }, { "name": "Lesson 2: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-2-post.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-2-post.json", "resourceUrl": "https://authoring.concord.org/activities/11581" }, { - "name": "Lesson 3: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-3-pre.json", + "name": " Lesson 3: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-3-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11583" }, { "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-3.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-3.json", "resourceUrl": "https://authoring.concord.org/activities/11582" }, { - "name": "Lesson 3: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-3-post.json", + "name": " Lesson 3: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-3-post.json", "resourceUrl": "https://authoring.concord.org/activities/11584" }, { "name": "Lesson 4: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-4-pre.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-4-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11586" }, { "name": "Lesson 4: Building Rules", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-4.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-4.json", "resourceUrl": "https://authoring.concord.org/activities/11585" }, { "name": "Lesson 4: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-4-post.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-4-post.json", "resourceUrl": "https://authoring.concord.org/activities/11587" }, { "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-5-pre.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-5-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11593" }, { "name": "Lesson 5: Identifying Air Masses", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-5.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-5.json", "resourceUrl": "https://authoring.concord.org/activities/11588" }, { "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-5-post.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-5-post.json", "resourceUrl": "https://authoring.concord.org/activities/11595" }, { "name": "Lesson 6: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-6-pre.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-6-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11590" }, { "name": "Lesson 6: Modeling Fronts", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-6.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-6.json", "resourceUrl": "https://authoring.concord.org/activities/11589" }, { "name": "Lesson 6: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-6-post.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-6-post.json", "resourceUrl": "https://authoring.concord.org/activities/11591" }, { "name": "Lesson 7: Analyzing Data and Making a Prediction", - "contentUrl": "offline-activities/precipitating-change-v1/lesson-7.json", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-7.json", "resourceUrl": "https://authoring.concord.org/activities/11592" } ], "cacheList": [ - "https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska-Pilot-Final-low-res.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/ConcordAlaska7Final-low.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png", @@ -126,15 +130,19 @@ "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4StormTracker7pm.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson57pmInterpolated.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson6WhereistheFrontGoing.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20Virtual%20Storm%20Student%20Guide.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WeatherMAPB.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/alaska-pilot-final.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4", @@ -162,47 +170,139 @@ "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/air_moisture_fog-high.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/pattern-recognition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/precipitation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/weather.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/wind-direction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/exptrapolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/extrapolation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png", - "https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Diggiynetritiy_He_broke_it.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Atthabaskan/Vitotuq_between_middle.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/How_is_the_weather_Ngieghndadzdixeta.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/I_am_going_to_use_this_patttern_Gon%20ghoghoy_yigidighoy_axa_ditast%27e%C5%82.%20.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It%27s%20snowing_Iyoth.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It_snows_during_the_winter_Xiyhtuxiyoth.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Pattern_Ghoghoyyigidighoy.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_South_wind_is_starting_to_blow_Edodzxandithitriyh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_fog_is_thick_Getiyeqngichox.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/There_is_too_much_fog_Getiyeqxelanh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_Is_it_doing_outside_Ngieghndadzdixeta16.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_is_next_Ndadzchenh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Wind_is_coming_from_the_west_Dongthedzxidetriyh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/between_middle_Vitotuq.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/middle_Xivitotuq.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/L7instructionsscale.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/weather_forecasting_tools.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AK-3-maps-interpolation.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKABCinterpolationtemp.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKlinearinterpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKweightedneigborinterpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/AbstractionMovie.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/Aggregation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/PatternRecognition.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/WindDirection.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/moisture-amount.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/precipitation_snow.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/weather-movie.mp4", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_555555_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_ffffff_256x240.png", "https://fonts.googleapis.com/css?family=Lato", "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson6_88.mp4", "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", "https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png", "https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4.html", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/Temp-Moisture-Key.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png", - "https://weather.concord.org/index.html?scenario=AK_EP2", - "https://weather.concord.org/index.html?scenario=AK_EP2\r\n", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", "models-resources/glossary-plugin/version/v3.12.0/manifest.json", "models-resources/glossary-plugin/version/v3.12.0/plugin.js", + "models-resources/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json", "models-resources/precip-models/ak-base-map-with-rose.png", "models-resources/precip-models/ak-w-cities.png", "models-resources/precip-models/lesson-4-ak-v3.html", "models-resources/precip-models/precip-rule-ak-v5.html", + "models-resources/question-interactives/branch/master/drag-and-drop/", + "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.js", + "models-resources/question-interactives/version/v0.6.1/image/", + "models-resources/question-interactives/version/v0.6.1/image/assets/index.c97f7781f4e83340e0f4.css", + "models-resources/question-interactives/version/v0.6.1/image/assets/index.c97f7781f4e83340e0f4.js", "models-resources/question-interactives/version/v1.1.0/carousel/", "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.css", "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.js", "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/", "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.css", "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.js", From d23f47fb6e83e0ea1628520e39c129633bab5cee Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 30 Mar 2021 14:39:21 -0400 Subject: [PATCH 181/242] Added update-offline-manifest script --- package-lock.json | 36 +++++++- package.json | 6 +- src/scripts/update-offline-manifest.ts | 119 +++++++++++++++++++++++++ src/utilities/cypress.ts | 2 +- tsconfig.json | 2 +- 5 files changed, 159 insertions(+), 6 deletions(-) create mode 100644 src/scripts/update-offline-manifest.ts diff --git a/package-lock.json b/package-lock.json index d3a54143..4339543e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6754,9 +6754,32 @@ "dev": true }, "@types/node": { - "version": "13.13.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.4.tgz", - "integrity": "sha512-x26ur3dSXgv5AwKS0lNfbjpCakGIduWU1DU91Zz58ONRWrIKGunmZBNv4P7N+e27sJkiGDsw/3fT4AtsqQBrBA==" + "version": "14.14.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", + "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==" + }, + "@types/node-fetch": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.8.tgz", + "integrity": "sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==", + "dev": true, + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } }, "@types/normalize-package-data": { "version": "2.4.0", @@ -19039,6 +19062,13 @@ "@types/long": "^4.0.1", "@types/node": "^13.7.0", "long": "^4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "13.13.48", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.48.tgz", + "integrity": "sha512-z8wvSsgWQzkr4sVuMEEOvwMdOQjiRY2Y/ZW4fDfjfe3+TfQrZqFKOthBgk2RnVEmtOKrkwdZ7uTvsxTBLjKGDQ==" + } } }, "proxy-addr": { diff --git a/package.json b/package.json index 2bfa76b6..e368d51d 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,8 @@ "test:coverage:watch": "jest --coverage --watchAll", "test:cypress": "cypress run --browser chrome --headless", "test:cypress:open": "cypress open", - "test:full": "npm-run-all test test:cypress" + "test:full": "npm-run-all test test:cypress", + "update-offline-manifest": "ts-node src/scripts/update-offline-manifest.ts" }, "repository": { "type": "git", @@ -97,6 +98,8 @@ "@types/jest": "^26.0.13", "@types/jquery": "^3.5.1", "@types/jsonwebtoken": "^8.5.0", + "@types/node": "^14.14.37", + "@types/node-fetch": "^2.5.8", "@types/react": "^16.9.49", "@types/react-dom": "^16.9.8", "@types/react-modal": "^3.10.6", @@ -135,6 +138,7 @@ "jest-fetch-mock": "^3.0.3", "live-server": "^1.2.1", "mini-css-extract-plugin": "^0.11.2", + "node-fetch": "^2.6.1", "node-sass": "^4.14.1", "npm-run-all": "^4.1.5", "nyc": "^15.1.0", diff --git a/src/scripts/update-offline-manifest.ts b/src/scripts/update-offline-manifest.ts new file mode 100644 index 00000000..94e1599e --- /dev/null +++ b/src/scripts/update-offline-manifest.ts @@ -0,0 +1,119 @@ +import fs from "fs"; +import path from "path"; +import { Activity, OfflineManifest, OfflineManifestActivity } from "../types"; +import request from "superagent"; +import { getAllUrlsInActivity, removeDuplicateUrls, rewriteModelsResourcesUrl } from "../utilities/activity-utils"; +import fetch from "node-fetch"; + +(global as any).fetch = fetch; + +const die = (message: string) => { + console.error(message); + process.exit(1); +}; + +const getManifestPath = () => { + const [_, __, filename, ...rest] = process.argv; + + if (!filename) { + die("Usage: npm run update-offline-manifest "); + } + + const filenameWithExtension = filename.endsWith(".json") ? filename : `${filename}.json`; + const manifestPath = path.join(__dirname, "../public/offline-manifests/", filenameWithExtension); + + if (!fs.existsSync(manifestPath)) { + die(`Cannot find ${manifestPath}`); + } + + return manifestPath; +}; + +const loadJSONFile = (filename: string) => { + try { + return JSON.parse(fs.readFileSync(filename).toString()); + } catch (e) { + die(`Cannot parse ${filename} - ${e.toString()}`); + } +}; + +const getActivity = async (offlineActivity: OfflineManifestActivity): Promise => { + console.log("Processing", offlineActivity.name, "..."); + const url = offlineActivity.contentUrl; + console.log(" ", url, "..."); + if (/http/.test(url)) { + try { + const resp = await request.get(url); + return JSON.parse(resp.body) as Activity; + } catch (e) { + die(`Unable to get ${url} - ${e.toString()}`); + } + } else { + const activityPath = path.join(__dirname, "../public/", url); + return loadJSONFile(activityPath) as Activity; + } + + return null; +}; + +const maybeProxyUrl = (url: string) => /^models-resources\//.test(url) ? `http://activity-player-offline.concord.org/${url}` : url; + +const main = async () => { + const manifestPath = getManifestPath(); + const manifestJSON = loadJSONFile(manifestPath) as OfflineManifest; + let cacheList: string[] = []; + + await manifestJSON.activities.reduce(async (promise, offlineActivity: OfflineManifestActivity) => { + await promise; + + const activity = await getActivity(offlineActivity); + if (activity) { + const urls = await getAllUrlsInActivity(activity); + console.log(` found ${urls.length} urls ...`); + cacheList.push(...urls); + } + }, Promise.resolve()); + + cacheList = removeDuplicateUrls(cacheList.map(rewriteModelsResourcesUrl)); + cacheList.sort(); + + const oldMissingUrls = manifestJSON.cacheList.filter(url => cacheList.indexOf(url) === -1); + console.log(`\nFound ${cacheList.length} unique urls in content and ${oldMissingUrls.length} urls in manifest cache list not in activities`); + + console.log("\nTesting all urls..."); + const allUrls = cacheList.concat(oldMissingUrls); + + let badUrls: {url: string, status: number}[] = []; + await allUrls.reduce(async (promise, url: string) => { + await promise; + + url = maybeProxyUrl(url); + console.log(" ", url); + try { + const resp = await request.head(url); + } catch (e) { + if (e.status >= 400) { + badUrls.push({url, status: e.status}); + } + } + }, Promise.resolve()); + + if (badUrls.length > 0) { + console.error(`\nFound ${badUrls.length} bad urls...`); + for (const badUrl of badUrls) { + console.log(`${badUrl.status}: ${badUrl.url}`); + } + } + +}; + +main(); + +/* + +THINGS THAT COULD BE ADDED: + +1. Updating local activity json based on resource url +2. Updating manifest with new cache list or all urls + +*/ \ No newline at end of file diff --git a/src/utilities/cypress.ts b/src/utilities/cypress.ts index 81a5cd44..132876b2 100644 --- a/src/utilities/cypress.ts +++ b/src/utilities/cypress.ts @@ -1 +1 @@ -export const runningInCypress = !!(window as any).Cypress; +export const runningInCypress = !!(global as any).Cypress; diff --git a/tsconfig.json b/tsconfig.json index 404c85e2..e145609c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,7 @@ "resolveJsonModule": true, "experimentalDecorators": true, "strictNullChecks": true, - "types": ["jest"], + "types": ["jest", "node"], "jsx": "react", "lib": [ "dom", From eb65d57e365752d38871f9e9ae6310c0682cec2b Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 30 Mar 2021 15:56:33 -0400 Subject: [PATCH 182/242] Fixed lint errors --- src/scripts/update-offline-manifest.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/scripts/update-offline-manifest.ts b/src/scripts/update-offline-manifest.ts index 94e1599e..ed2317d8 100644 --- a/src/scripts/update-offline-manifest.ts +++ b/src/scripts/update-offline-manifest.ts @@ -13,7 +13,7 @@ const die = (message: string) => { }; const getManifestPath = () => { - const [_, __, filename, ...rest] = process.argv; + const filename = process.argv[2]; if (!filename) { die("Usage: npm run update-offline-manifest "); @@ -83,14 +83,14 @@ const main = async () => { console.log("\nTesting all urls..."); const allUrls = cacheList.concat(oldMissingUrls); - let badUrls: {url: string, status: number}[] = []; + const badUrls: {url: string, status: number}[] = []; await allUrls.reduce(async (promise, url: string) => { await promise; url = maybeProxyUrl(url); console.log(" ", url); try { - const resp = await request.head(url); + await request.head(url); } catch (e) { if (e.status >= 400) { badUrls.push({url, status: e.status}); @@ -116,4 +116,4 @@ THINGS THAT COULD BE ADDED: 1. Updating local activity json based on resource url 2. Updating manifest with new cache list or all urls -*/ \ No newline at end of file +*/ From 2ac202c08c76d307ba1f19e1f62ce77b80c6c568 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 30 Mar 2021 22:22:37 -0400 Subject: [PATCH 183/242] initial PC v3 commit copies of v2 to make diffing easier. --- .../precipitating-change-v3/interview.json | 429 +++ .../lesson-1-post.json | 215 ++ .../precipitating-change-v3/lesson-1.json | 1133 +++++++ .../lesson-2-post.json | 285 ++ .../precipitating-change-v3/lesson-2-pre.json | 285 ++ .../precipitating-change-v3/lesson-2.json | 2852 +++++++++++++++++ .../lesson-3-post.json | 248 ++ .../precipitating-change-v3/lesson-3-pre.json | 248 ++ .../precipitating-change-v3/lesson-3.json | 1164 +++++++ .../lesson-4-post.json | 248 ++ .../precipitating-change-v3/lesson-4-pre.json | 248 ++ .../precipitating-change-v3/lesson-4.json | 861 +++++ .../lesson-5-post.json | 285 ++ .../precipitating-change-v3/lesson-5-pre.json | 285 ++ .../precipitating-change-v3/lesson-5.json | 1164 +++++++ .../lesson-6-post.json | 248 ++ .../precipitating-change-v3/lesson-6-pre.json | 248 ++ .../precipitating-change-v3/lesson-6.json | 546 ++++ .../precipitating-change-v3/lesson-7.json | 984 ++++++ .../precipitating-change-v3.json | 324 ++ 20 files changed, 12300 insertions(+) create mode 100644 src/public/offline-activities/precipitating-change-v3/interview.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-1-post.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-1.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-2-post.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-2.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-3-post.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-3.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-4-post.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-4.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-5-post.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-5.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-6-post.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-6.json create mode 100644 src/public/offline-activities/precipitating-change-v3/lesson-7.json create mode 100644 src/public/offline-manifests/precipitating-change-v3.json diff --git a/src/public/offline-activities/precipitating-change-v3/interview.json b/src/public/offline-activities/precipitating-change-v3/interview.json new file mode 100644 index 00000000..658cda58 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/interview.json @@ -0,0 +1,429 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Interview - Predicting the Weather Without the Weather Channel", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143459, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png\"}", + "is_hidden": true, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1636-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EPredicting the weather without the Weather Channel\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETalk with an \u003Cstrong\u003Eadult family member or family friend\u003C/strong\u003E who you think might have experience predicting the weather (maybe even someone who is older who learned how to predict the weather when they were around your age).\u003C/p\u003E\r\n\u003Cp\u003EWhat if you needed a weather forecast and couldn\u0026rsquo;t use your usual ways of checking the weather? Imagine you\u0026rsquo;re planning to go snowmobiling on the tundra, but there\u0026rsquo;s a big power failure and there\u0026rsquo;s no TV, Internet, or cell phone available. Even the radio isn\u0026rsquo;t working! You might try to figure out a weather forecast with help from someone you know.\u003C/p\u003E\r\n\u003Cp\u003EAsk the person the questions below and write down their ideas. If possible, record your talk so you can go back and check that you\u0026rsquo;ve written down all the important ideas.\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "Predicting the Weather Without the Weather Channel", + "type": "Embeddable::Xhtml", + "ref_id": "147758-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png\"}", + "is_hidden": false, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1657-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"required\":true,\"prompt\":\"\u003Cp\u003EHow did you learn how to predict the weather?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1638-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat things do you observe to help you predict the weather? \u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1639-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow do you observe those things? (What senses do you use? What tools or instruments do you use?)\u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1640-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow do you use what you observe to predict what the upcoming weather is going to be like? \u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1641-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EStep outside together and ask: what do you think the weather is going to be like twelve hours from now and how do you know? If you are talking with someone who is far away, maybe by phone or Internet, ask them to either take a picture of what the sky is like where they are and send it to you or else describe what they see to you as they answer this question.\u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1642-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-1-post.json new file mode 100644 index 00000000..a1b378cf --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-1-post.json @@ -0,0 +1,215 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": null, + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144077, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs you answer these questions, think about the words used by the person you talked with about weather and the words used by a meteorologist. How do each of them describe weather and weather forecasting?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148413-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat are some \u003Cstrong\u003Esimilarities\u003C/strong\u003E between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1834-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat are some \u003Cstrong\u003Edifferences\u003C/strong\u003E between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1835-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy might it be worthwhile to have some understanding of how to predict weather yourself (without using information from TV or Internet)? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1836-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-1.json b/src/public/offline-activities/precipitating-change-v3/lesson-1.json new file mode 100644 index 00000000..a6f95610 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-1.json @@ -0,0 +1,1133 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Making an Initial Prediction", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143296, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever wondered how people on the news are able to predict tomorrow\u0026rsquo;s weather?\u003C/p\u003E\r\n\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will tell you about her job and how she predicts the weather.\u0026nbsp; Jackie will provide more information about being a meteorologist throughout this unit.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147485-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Jackie Purcell - L1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1262-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142934, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Overall Introduction", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWelcome to Precipitating Change! Watch this video to see what it is all about!\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "What This Unit Is About", + "type": "Embeddable::Xhtml", + "ref_id": "147101-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Mr. Neyhard's Introduction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1180-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142945, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Lesson Opening", + "position": 3, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYour unit challenge will be to determine if the Native Youth Olympics (NYO Games) in Anchorage will be able to take place as planned, be postponed or even be canceled because of problems traveling from across Alaska due to weather.\u003C/p\u003E\r\n\u003Cp\u003ETo solve this challenge throughout the unit, you will need to learn how to predict the weather.\u003C/p\u003E\r\n\u003Cp\u003EYou will have the following tools to help you:\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Real-world data for the Alaska mainland\u003Cbr /\u003E\u0026bull; A toolkit to help analyze the data\u003Cbr /\u003E\u003Cbr /\u003E\u003C/p\u003E\r\n\u003Cp\u003EWatch Mr. Neyhard tell you more about the unit challenge.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "The unit challenge", + "type": "Embeddable::Xhtml", + "ref_id": "147111-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1184-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142944, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring the Weather", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEXPLORING THE\u0026nbsp;WEATHER\u003C/p\u003E\r\n\u003Cp\u003E\"What am I going to wear today?\" is a question everyone asks each morning. How do you determine what you are going to wear? What information do you collect to inform your decision?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147110-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\",\"highResUrl\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1263-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "content": "\u003Cp\u003ELook at the\u0026nbsp;weather\u0026nbsp;data for the\u0026nbsp;morning\u0026nbsp;on Tuesday.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147486-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"54\u00b0F\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhat is the predicted temperature on Tuesday morning?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1265-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"54\u00b0F\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat is the predicted high temperature on Tuesday during the day?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1266-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Sunshine\",\"correct\":false},{\"id\":\"2\",\"content\":\"Snow\",\"correct\":false},{\"id\":\"3\",\"content\":\"Rain\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhat does the symbol on Tuesday mean?\u003C/p\u003E\\n\u003Cp\u003E\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png\\\" width=\\\"50\\\" height=\\\"44\\\"/\u003E\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1267-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A sweater, some pants, and either an umbrella or a rain jacket because it\u2019s not too cold or too warm but it is supposed to be raining.\",\"correct\":true},{\"id\":\"2\",\"content\":\"My parka/big fluffy coat, snow pants, snow boots, and ski goggles because snow will be falling.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Shorts and T-shirt with sunglasses because it will be sunny and hot.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EBased on the weather forecast, what would you wear on Tuesday morning?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1268-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "carousel", + "id": 143199, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Making a Prediction", + "position": 5, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EMAKING A\u0026nbsp;PREDICTION\u003C/p\u003E\r\n\u003Cp\u003ECan you determine at night what the\u0026nbsp;weather\u0026nbsp;will be the following morning? What kind of information goes into a\u0026nbsp;weather\u0026nbsp;prediction?\u003C/p\u003E\r\n\u003Cp\u003EYou have been planning to go to the NYO Games in Anchorage on April 23 at 7 am. This event has been planned for months and you are expecting that about 500 students will compete from all over the state. One of your jobs is to watch the\u0026nbsp;weather\u0026nbsp;and determine if the event is safe to proceed as\u0026nbsp;planned, or if it should be\u0026nbsp;postponed\u0026nbsp;or\u0026nbsp;cancelled.\u003C/p\u003E\r\n\u003Cp\u003EBelow is an Alaska\u0026nbsp;weather\u0026nbsp;dataset from weather stations that includes temperature,\u0026nbsp;precipitation, wind speed, and\u0026nbsp;wind direction.\u003C/p\u003E\r\n\u003Cp\u003EThe data from the\u0026nbsp;weather\u0026nbsp;stations are organized to show information for a 24-hour time period.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147487-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": true, + "model_library_url": null, + "name": "Alaska Full Map", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "type": "MwInteractive", + "ref_id": "96755-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1297-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1298-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"\u003Cp\u003EClick through the radar images which provide precipitation changes for a 24-hour time period.\u003C/p\u003E\",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "d28c5f7719a5e637904c6b1de2d0036ba4f76313", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/carousel/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Carousel Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1316-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat do you predict the weather will be at 7am in Anchorage on April 23rd? Will it be raining in Anchorage or not? Please include a number for the temperature, for example 75 degrees F. in your explanation.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1434-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"likert\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"6cf707ea-431c-4873-b351-7ce8fe6af548\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"42e03e94-4e9d-4d84-89d8-71efb91ea9bd\"}],\"prompt\":\"\u003Cp\u003EHow confident are you of your prediction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1350-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143338, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148889-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How the air feels and the sky looks when I go outside\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The condition of the air that surrounds the Earth at a particular time and place\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) What the sky will do at any given time\",\"correct\":false},{\"content\":\"d) Rain, snow, sleet, hail, sunshine, clouds\",\"correct\":false,\"id\":\"17adffb5-75c5-445c-97ba-7c8bc40428a5\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition for the word \u201cweather\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2012-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Forecast based on evidence about a future event\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Having a premonition\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) When you know something is going to happen\",\"correct\":false},{\"content\":\"d) Forecast based on evidence about past events\",\"correct\":false,\"id\":\"cc1298b9-983c-4665-8259-1846d12d93bc\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition for the word \u201cprediction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2013-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"ec77134a-e481-44b6-ae6b-3c946755ecae\"}],\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2014-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To focus on my work\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To learn something about weather\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) To predict the weather at 7am in Anchorage on April 23rd\",\"correct\":true},{\"content\":\"d) To get into the NYO Games\",\"correct\":false,\"id\":\"71d0bbc7-d5bd-47f8-9be5-1f1591c8918e\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is your challenge for this weather unit?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2015-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) First, click on the word\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Second, look at the picture and read the caption\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Third, try to write my own definition for the word\",\"correct\":false},{\"content\":\"d) Fourth, read the actual definition and watch the video if needed\",\"correct\":false,\"id\":\"76ac086c-1572-48f3-bceb-944f20697651\"},{\"content\":\"e) All of the above\",\"correct\":true,\"id\":\"9a77ae48-7532-44cd-9112-58d1b87c5470\"},{\"content\":\"f) Only answers C and D\",\"correct\":false,\"id\":\"cdcb1029-a50e-4f9b-af8c-62eeb16fc034\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EHow do you use the glossary? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2016-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-2-post.json new file mode 100644 index 00000000..bae29581 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-2-post.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143587, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Estimate the Temperature?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying\u0026nbsp;weather. The students will make a computer model to predict\u0026nbsp;weather\u0026nbsp;in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31\u02da and 59\u02da.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png\" alt=\"\" width=\"550\" height=\"62\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should use the number that is exactly halfway in between 31\u02daand 59\u02da. That\u0026rsquo;s the most exact way to estimate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should mark a number line along the map with the estimate in each square going up the same amount between 31\u02da and 59\u02da. That\u0026rsquo;d be the best estimate.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EIt doesn\u0026rsquo;t make sense to estimate the temperature at the X. We\u0026rsquo;d need to go there and measure the temperature. You can\u0026rsquo;t be confident unless you measure it.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThe X is closer to the 59\u02da than to the 31\u02da, so let\u0026rsquo;s choose a number closer to 59\u02da. That\u0026rsquo;s the best we can do because we don\u0026rsquo;t know what\u0026rsquo;s happening with the weather in those places.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147889-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1684-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1685-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17136-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10226-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10227-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10228-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json new file mode 100644 index 00000000..81035d62 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143495, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Estimate the Temperature?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying\u0026nbsp;weather. The students will make a computer model to predict\u0026nbsp;weather\u0026nbsp;in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31\u02da and 59\u02da.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png\" alt=\"\" width=\"550\" height=\"62\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should use the number that is exactly halfway in between 31\u02daand 59\u02da. That\u0026rsquo;s the most exact way to estimate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should mark a number line along the map with the estimate in each square going up the same amount between 31\u02da and 59\u02da. That\u0026rsquo;d be the best estimate.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EIt doesn\u0026rsquo;t make sense to estimate the temperature at the X. We\u0026rsquo;d need to go there and measure the temperature. You can\u0026rsquo;t be confident unless you measure it.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThe X is closer to the 59\u02da than to the 31\u02da, so let\u0026rsquo;s choose a number closer to 59\u02da. That\u0026rsquo;s the best we can do because we don\u0026rsquo;t know what\u0026rsquo;s happening with the weather in those places.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147795-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1658-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1649-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17135-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10214-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10215-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10216-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-2.json b/src/public/offline-activities/precipitating-change-v3/lesson-2.json new file mode 100644 index 00000000..acd488a7 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-2.json @@ -0,0 +1,2852 @@ +{ + "description": "\u003Cp\u003EHow can weather from the past inform future weather predictions?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Displaying Temperature Data ", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143620, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how temperature plays an important part in predicting weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147936-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1705-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143207, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever wondered why some temperature displays are in color (for instance, television weather reports), but a thermometer displays temperature in numbers? Or how weather apps can tell you what the temperature is wherever you are? In this lesson, you are going to learn what it means to display temperature for mainland Alaska.\u003C/p\u003E\r\n\u003Cp\u003EAs\u0026nbsp; weather scientists (meteorologists), you will experience a virtual storm event in your classroom. As the virtual storm event occurs, you and your research team will collect and record temperature data.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EAs part of your lesson challenge, you will need to determine how to capture the data, how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147375-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Holder for Kevin's video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1706-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 2: DISPLAYING DATA:\\n\\n**HOW CAN WEATHER FROM THE PAST INFORM FUTURE WEATHER PREDICTIONS?**\\n\\nIn this lesson, students are introduced to the virtual storm technology by experiencing a weather event move through their classroom. A weather station collects data about the current weather at a specific location. The strategic placement of multiple stations and use of digital tools and mathematical concepts allows weather scientists to create a more accurate and complete model/visualization of the weather over a region and analyze it for patterns and trends. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Take a limited amount of information and develop a more complete picture of the weather (create a weather visualization)\\n\\n* Explain a weather map using traditional weather symbols and codes (weather stations with temperature)\\n\\n* Make minimally informed predictions about future weather events\\n\\n* Explain that weather varies over time\\n\\nComputational Thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Data Aggregation | Describes the data collection and organization process you use to better understand the topic. | Students will collect temperature data from tablet/laptop and organize the data in charts on the wall. |\\n| Data Abstraction | Simplifying data to make it easier to interpret and find patterns. | Students will come up with a color scheme for temperature and change how the data is represented from numbers to temperature categories, and then to colors. |\\n| Interpolation | Estimating an unknown value based on surrounding information. | Students will make best guess estimates of the temperatures that are missing on the map. |\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students collect data in two rounds and see patterns of data moving across the charts. Before and after each data collection they will interpolate data. They will discover that warm and cold spots on the map are consistently on certain sides, and also see these spots change over time. |\\n| Extrapolation | Following a pattern beyond the known data points. | Students predict future weather based on patterns they observe in the changing temperatures they collected and visualized. |\\n \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9759-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME \\t 2 class periods with Pre-Assessment (80 mins)\\n\\n**KEY ACTIVITIES:**\\nOpening - (5 mins)\\n\\nActivity 1 - Virtual Storm (30 mins)\\n\\nActivity 2 - Interpolating Weather Station Data (20 mins)\\n\\nActivity 3 - Virtual Storm (15 mins)\\n\\nPost-Assessment - How Should We Estimate the Temperature? (10 mins)\\n\\n### MATERIALS AND SET-UP\\nActivity 1 - Virtual Storm: Displaying Temperature Data\\n \\nThis activity requires significant setup time and you may want to plan a few hours to transform the classroom into a 7x7 gridded space and to test and set up the iPads/laptops. \\n\\n**Per Research Team (2-4 students):**\\n\\n* Marker\\n* 3\\\" x 3\\\" sticky notes in the following colors: blue, green, yellow, red, purple, orange\\n* Fully charged and connected iPad/laptop that can display the online activity\\n* Set of colored pencils (for individual student sheets)\\n\\n**Per Class:**\\n\\n* Click [HERE](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf) and print \u201cA-G\u201d and \\\"1-7\\\" coordinates in the largest font possible.\\n\\n* Push desks to walls to get as much open space in your classroom as possible.\\n\\n* Tape labels to the classroom walls, evenly spaced. Make sure the letters are on opposite walls and the numbers on walls opposite, mirroring each other. See image below for an example:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GridSetUpExampleRESIZED.png)\\n\\n* Students should be able to stand in the grid. For example, the smiley face represents a student standing in G6. Adapt the grid points to what you have available in your learning space.\\n\\n**Weather maps:**\\n\\n* Place four large poster-sized sheets of gridded paper on a classroom wall, organizing the chart paper in a row. Each sheet will contain a 7 x 7 grid with axes labeled to match the room set-up. Click [HERE](https://youtu.be/HD_6BAHib1A) to watch a tutorial on how to create weather map grids for your classroom. \\n\\n* Label the top of each sheet with a different time: 7:00 am, 11:00 am, 3:00 pm, and 7:00 pm, and organize them on the wall in order of the time.\\n\\n* Have students track the virtual weather event and record their group's data on the tracking sheet in their Science Notebook.\\n\\n**City Markers:**\\n\\n* Print five city markers by clicking [HERE - PDF](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf)\\n\\n* Place \\\"City Markers\\\" on the floor in the appropriate classroom grid locations that correspond to the map shown in the image below:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/AKGridMapResized.png)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9760-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 2.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9761-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143208, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weather Station - Data", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs scientists, it is important to record temperature data for analysis and to predict future\u0026nbsp;weather\u0026nbsp;events.\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Displaying Temperature", + "type": "Embeddable::Xhtml", + "ref_id": "149056-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EGather information from each weather station shown on the map below. Click\u0026nbsp;\u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun.\u003C/em\u003E\u0026nbsp;Then click each weather station to see the temperature observed for the communities across Alaska at the given time.\u003C/p\u003E\r\n\u003Cp\u003EThe boxes on the grid are called \u003Cem\u003Ecells\u003C/em\u003E and are identified with a letter and a number.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149057-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Activity 1 - Virtual Storm: Visualizing Temperature \\n\\nIn this activity, students simulate the experience of a weather scientist collecting weather data for a large area and organizing it into useful maps to predict a future weather event. Students collaboratively negotiate what the data means, as well as how to accurately record the data and represent it so they can use the emerging pattern to predict a future weather event. The specific computational thinking practices highlighted and practiced in this activity are **Data Aggregation**, **Abstraction**, and **Interpolation**.\\n\\n###Activity Breakdown\\n**1. Setting the stage for the virtual storm.** The grid in the classroom represents a smaller region in Alaska than the area covered in the Lesson 1 radar images. This area includes the following cities: Bettles, Gelena, Nome, Noorvik, and St. Mary\u2019s. In their research teams, students collect temperature data every four hours throughout the region for an eight-hour period of time. \\n\\n* Have a student stand in a square and ask the class to identify the coordinates of where they are standing. Repeat until clear.\\n\\n**2. Round 1 - Starting the Virtual Storm technology. **\\n\\n* Ask research teams to select a student from their team to move to an unoccupied grid cell. \\n\\n* Launch the Virtual Storm technology and have another student from the team record the temperature in the selected cell onto the poster sheet labeled \\\"7:00 am.\\\" \\n\\n* Click \\\"PLAY\\\" on the Virtual Storm technology. Instruct the students to watch the clock in the Weather Sensor, and every four hours record the temperature readings onto the corresponding poster sheets on the walls (7:00 am, 11:00 am, 3:00 pm). After this round, all posters should have eight squares filled in. \\n\\n**3. Round 2 - Students gaining practice by repeating the process.**\\n\\n* Click the \u201cRESET\u201d button. Ask research groups to choose new positions on the grid. \\n* Run the simulation and encourage students to collect and record the data on the three maps again. At the end of this round, each chart should have 16 squares filled in on each chart.\\n\\n**4. Round 3 - Be more strategic.**\\n\\n* Let the research teams rethink their position and either stay or move to a more strategically chosen position.\\n\\n* Run the simulation again, asking students to record the data on three charts. At the end of this round, 24 squares should be filled in with temperature data.\\n\\n** 5. Class Discussion - Emerging patterns \u0026 abstraction.**\\n\\n* Help students develop a color scheme of their choosing, and suggest colored sticky notes for the scheme. Honor the way students want to do it and post the scheme on the wall. For example, students might come up with six temperature categories:\\n * 10-19\u00b0F/-12.2 to -7.2\u00b0C: purple (extremely cold)\\n * 20-29\u00b0F/-6.7 to -1.7\u00b0C: blue (very cold)\\n * 30-39\u00b0F/-1.1 to 3.9\u00b0C: green (cold)\\n * 40-49\u00b0F/4.4 to 9.4\u00b0C: yellow (cool)\\n * 50-59\u00b0F/10 to 15\u00b0C: orange (warm)\\n * 60-69\u00b0F/15.6 to 20.6\u00b0C: red (very warm)\\n\\n* Before going on, have students place the colored sticky notes with the temperatures written on them over the original temperatures. Each team is responsible for their first three postings. \\n\\n** 6. Round 4 - Interpolation test.** \\n\\n* Direct the research teams to choose a new positions on the grid and ask them to take a **\\\"GUESS\\\"** of what the temperature will be for each of the charts.\\n\\n* Run the simulation. Students use the correct colored post-it note for the actual temperature and write **\u201cACTUAL\u201d** on the note and place it over their previous guesses. At the end of this round, there should be 32 squares covered on each chart.\\n\\n**7. Class discussion - Introduce interpolation strategy.** Please see Interpolation Strategy discussion prompts in the Discussion Points below. \\n\\n**8. Round 5 - Repeat interpolation strategy.**\\n\\n* Students repeat Step 6 with the new Interpolation Strategy informing their decision. At the end of this round, there should be 40 squares covered on the chart. \\n\\n**9. Interpolate to Complete the Image.**\\n\\n* As a class, fill in the remaining nine squares on the charts with the agreed upon colored sticky notes. Do not run the simulation to check. At this time, the three charts should be completely filled in.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9762-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Location Selection Strategy\\n\\nWhen you ask research groups to choose new positions on the grid, before starting the simulation, have a short discussion on why they selected these locations. The discussion could unveil two potential strategies: \\n\\n1. Areas where data are very sparse (large open areas where we have no readings at all).\\n\\n2. Areas where we are beginning to see interesting trends and want to see whether the patterns we are observing will continue.\\n\\n###Emerging Patterns \u0026 Abstraction\\nAfter 24 squares have been filled in, ask students the following:\\n\\n* Do you see any emerging patterns in the data? \\n\\n* Why is it hard to determine patterns? Responses could include sparseness of data, but also difficulty of seeing patterns around the numerical representation of temperature.\\n\\n* How can we make it easier to see the temperature patterns? Answer: color code the numbers in a system. If students struggle with coming up with an answer, remind them how they tend to see temperature on common weather forecasts.\\n\\n###Data Abstraction (simplifying or generalizing data to analyze it for trends). \\nPossible prompts for the discussion:\\n\\n* Do you see any patterns with the color coding that you did not see before we added the post-it notes?\\n\\n* How does adding the color help? (It helps your perception: your eye is more easily able to see clusters and trends.)\\n\\n* Is there any disadvantage to using color instead of the numbers? (Yes, we lose detail. We can no longer tell the difference between a cell that was 44\u00b0 and one that was 46\u00b0.)\\n\\n###Interpolation Strategy\\nLead a class discussion reflecting on which guesses were right, wrong, and close. Possible prompts:\\n\\n* Which groups got their predictions right? What was their strategy?\\n\\n* Which groups got their predictions wrong? How close were they? What was their strategy?\\n\\n* Do you think real atmospheric scientists ever have to fill in data (\u201cguess\u201d) in between known data points? Why or why not?\\n\\n* What was your strategy/reasoning that informed your guess? \\n\\n* Which research group\u2019s strategies were successful? Which were not? \\n\\n* Any strategies you would like to use in the future?\\n\\n* Did you get better at guessing this time? Why or why not?\\n\\n* How reliable do you think these guesses or estimates are?\\n\\n\\n###Interpolation Introduction\\n\\nTell the students that what they have been doing when guessing is called interpolation, estimating an unknown value based on surrounding information.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9763-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This Precipitating Change How To Tutorial can be shown to the whole class to give students a better understanding of their roles during the Virtual Storm activity. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"Virtual Storm Student Guide,\\\" 2019. \",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20Virtual%20Storm%20Student%20Guide.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9764-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Once you launch the Virtual Storm by clicking \\\"PLAY\\\", the students will watch the clock and record the temperature readings onto the corresponding weather map poster sheets on the wall every four hours (7:00 am, 11:00 am, 3:00 pm). Follow the steps provided in the Theory \u0026 Background section to guide the students to complete the weather maps.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"The Virtual Storm Interactive Alaska,\\\" 2019.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9765-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57\u00b0F\",\"correct\":false},{\"content\":\"58\u00b0F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik (cell C-2) at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1708-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"55\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"56\u00b0F\",\"correct\":false},{\"content\":\"57\u00b0F\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome (cell B-4) at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1710-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Known and Unknown Temperature Measurements ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", + "type": "MwInteractive", + "ref_id": "97687-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143702, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "First Prediction", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ENow you know how to gather information from one weather station at a time.\u0026nbsp; But what about all the places on the map that do not have a weather station?\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148032-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map below. Try to predict what the temperature will be in the cells labeled with a question mark.\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148033-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-A1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell A-1. [blank-A1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1785-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-G3]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell G-3. [blank-G3]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1787-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-B7]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell B-7. [blank-B7]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1788-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"There are no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is no other data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It\u2019s difficult to see any patterns with only 8 community\u2019s weather station data.\",\"correct\":false},{\"content\":\"All of the above.\",\"correct\":true,\"id\":\"d0e3f559-c3b2-4ca2-92ee-3638f5a45188\"}],\"prompt\":\"\u003Cp\u003EWhy is it difficult to make predictions for these locations?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1789-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1786-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143624, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Second Prediction", + "position": 5, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map to the right.\u0026nbsp; Now, try to predict what the temperature will be in the cells with a question mark.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147941-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":3}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell A-1. [blank-1]\u003C/p\u003E\",\"required\":false}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1715-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell G-3. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1716-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell B-7. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1717-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A. It\u2019s not easy, there are still no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B. There is a lot more data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. It\u2019s easier to see any patterns when more data is given.\",\"correct\":false},{\"content\":\"Both B and C.\",\"correct\":true,\"id\":\"b2eba22d-1bbc-4f20-a1c8-c534e9b6085c\"},{\"content\":\"Both A and B.\",\"correct\":false,\"id\":\"283878d3-83dc-407a-a6ab-972efc498d7a\"}],\"prompt\":\"\u003Cp\u003EWhy is it easier to predict the temperature more accurately on this data chart?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1718-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1755-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143209, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolation", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHow do you think weather scientists (meteorologists) fill in data for missing locations? Scientists have many methods for constructing unknown data between known data points. This is called data\u0026nbsp;interpolation.\u003C/p\u003E\n\u003Cp\u003EThere are many different methods to interpolate data. Let\u0026rsquo;s look at the three\u0026nbsp;interpolation\u0026nbsp;methods used to make these maps.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKABCinterpolationtemp.jpg\" alt=\"\" width=\"484\" height=\"383\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003ENearest Neighbor Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square A, you may have guessed 54\u0026deg;F degrees or something very close to that. This is the simplest\u0026nbsp;interpolation\u0026nbsp;method. It is called\u0026nbsp;\u003Cstrong\u003ENearest Neighbor\u003C/strong\u003E. With this method, you find the nearest\u0026nbsp;weather station to the unknown point and assume it has a similar temperature.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003E\u003Cstrong\u003ELinear Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square B, you may have guessed between 38\u0026deg;F and 50\u0026deg;F, but closer to 50\u0026deg;F. Since this square is between two known temperatures, the unknown temperature is probably between 38\u0026deg;F and 50\u0026deg;F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKlinearinterpolation.jpg\" alt=\"\" width=\"310\" height=\"151\" /\u003E\u003C/p\u003E\n\u003Cp\u003EThis method is called\u003Cstrong\u003E Linear Interpolation\u003C/strong\u003E.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003E\u003Cstrong\u003EWeighted Average Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square C, the square is between other squares at 30\u0026deg;F, 48\u0026deg;F, and 50\u0026deg;F. You could average the three numbers and get approximately 43\u0026deg;F. Or you could try to be even more precise. The unknown square is closer to the 50\u0026deg;F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45\u0026deg;F or 46\u0026deg;F). This method is called\u0026nbsp;\u003Cstrong\u003EWeighted Average\u0026nbsp;Interpolation\u003C/strong\u003E\u0026nbsp;since we give more \u0026ldquo;weight\u0026rdquo; or influence to the closer stations.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKweightedneigborinterpolation.jpg\" alt=\"\" width=\"453\" height=\"374\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147378-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Interpolating Weather Station Data\\n\\nStudents will work through three tasks that will deepen their understandings of the three interpolation methods (nearest neighbor, linear, and weighted average). \\n\\n**Teacher Note: Definitions of the Three Interpolation Methods**\\n\\n* **Nearest Neighbor Interpolation:** Find the nearest weather station to your unknown point, and assume it has the same temperature as the unknown.\\n\\n* **Linear Interpolation:** If an unknown is between two points, estimate a number that is between those two points, but closer to the point that it is geographically closer to. Temperature change between the two points should increase/decrease in regular intervals.\\n\\n* **Weighted Average Interpolation**: Choose three stations around your point, and estimate a number that is the average of the three. But, don\u2019t stop there. Try to be even more precise. If the unknown point is closer to one or two of the points, then estimate the unknown point closer in value to the stations it is nearer to.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9766-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"f3ca8705-099e-4903-aea2-fe4ee99c0d22\"}],\"prompt\":\"\u003Cp\u003EIf two weather scientists were using the same data but different interpolation methods, could they get different results?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1723-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Kevin Short Video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1725-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143210, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolation (Cont.)", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEach of the following maps used the same station data but a different data\u0026nbsp;interpolation\u0026nbsp;method:\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AK-3-maps-interpolation.png\" width=\"900\" height=\"315\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147379-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":true,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 1 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1224-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 2 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1225-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 3 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1226-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1721-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143625, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Pattern Recognition", + "position": 8, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map to the right.\u0026nbsp; Try to think of ways we could make this data easier for finding patterns.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147942-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\" Forget the map and put all of the numbers in order like a number line.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Take the average of each column and each row for that part of Alaska.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Color code the data for certain temperatures. For example from 45-50 degrees F would be the color blue.\",\"correct\":true},{\"content\":\"Add every number together so that we get one really large number to work with. \",\"correct\":false,\"id\":\"eef89f7a-ecfd-48fa-80f7-973d6862bdb1\"}],\"prompt\":\"\u003Cp\u003EWhat is one way we can make this weather data easier to understand for predicting weather across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1727-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1770-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143626, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Pattern Recognition (Cont.)", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EOn the map below, click \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E. Then use the key to the right of the data map to drag and drop the color tiles over the correct temperature for that color\u0026rsquo;s temperature range. You can check your answers at any time.\u003C/p\u003E\r\n\u003Cp\u003EHint: To make coloring easier, a colored cell can be used to \"paint\" other cells by dragging over them.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149058-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because all of the numbers would still be the same.\",\"correct\":false},{\"id\":\"2\",\"content\":\"No, because different students would put different temperatures for a color and that would make their map have a different color pattern. \",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIf each student in the class were to make their own color key, would we have all ended up with the same pattern at the end?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1728-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It gets warmer.\",\"correct\":true},{\"id\":\"2\",\"content\":\"It gets cooler.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It stays the same.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat happens to the temperatures at 7am as you travel to the southeast across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1729-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes\",\"correct\":false},{\"id\":\"2\",\"content\":\"No\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWas it as easy to see this warming pattern before we added the colors?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1730-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EExplain your reason for the above answer.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1731-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Abstracting Temperature Ranges with Color ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "type": "MwInteractive", + "ref_id": "97688-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143627, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Moving Weather Pattern", + "position": 10, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWow!\u0026nbsp; You made it.\u0026nbsp;You have predicted temperature for unknown locations using interpolation. Now you understand how temperature data can cover the map with a limited number of real measurements.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003ENow, you'll start looking for patterns of temperature changes over time.\u003C/p\u003E\r\n\u003Cp\u003EBelow you will see three maps of temperature data each one at a different time during one day. Study the changes of temperature over time looking for patterns in the data.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147944-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"The colder temperatures are moving from the northwest towards the southeast.\",\"correct\":true},{\"id\":\"2\",\"content\":\"The temperatures in the southeast are getting much warmer.\",\"correct\":false},{\"id\":\"3\",\"content\":\"The temperatures in the southeast are getting much cooler.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat is happening to the temperatures as time goes from 7am to 3pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1732-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Temperature Map at Three Times", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2090-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143628, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction", + "position": 11, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWeather scientists use patterns in known data over time to make predictions in the future.\u003C/p\u003E\r\n\u003Cp\u003ENow, you'll try predicting temperature for a future time. You will need to make a plan or \u003Cem\u003Estrategy\u003C/em\u003E to make a good prediction.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147945-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EThe map below shows temperature for three times separated by 4 hours.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cem\u003EYour job will be to predict the temperature for\u0026nbsp;\u003C/em\u003E\u003Cem\u003E\u003Cstrong\u003E4 hours after the last measurement shown.\u003C/strong\u003E\u003C/em\u003E\u003C/p\u003E\r\n\u003Cp\u003EThings to do and look for:\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003EUse the slider to see temperatures from 7am to 3pm.\u003C/li\u003E\r\n\u003Cli\u003ELook for patterns of temperature changes over time.\u003C/li\u003E\r\n\u003Cli\u003ETo see patterns, it may help to turn on and off the temperature data or the color key.\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\u003Cp\u003ERemember: always start by clicking \u003Cstrong\u003E\u003Cem\u003ESetup\u003C/em\u003E \u003C/strong\u003Eand \u003Cstrong\u003Ethen\u0026nbsp;\u003Cem\u003ERun\u003C/em\u003E\u003C/strong\u003E.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149059-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Noorvik patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Noorvik11am]\",\"size\":5},{\"id\":\"[blank-Noorvik3pm]\",\"size\":5},{\"id\":\"[blank-Noorvik7am]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter the temperature in Noorvik (cell C-2) for 7am [blank-Noorvik7am], 11am [blank-Noorvik11am], and 3pm [blank-Noorvik3pm].\u003C/p\u003E\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2143-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Noorvik prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Noorvik at 7pm. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1736-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Nome patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Nome7am]\",\"size\":5,\"matchTerm\":\"56\"},{\"id\":\"[blank-Nome11am]\",\"size\":5,\"matchTerm\":\"51\"},{\"id\":\"[blank-Nome3pm]\",\"size\":5,\"matchTerm\":\"46\"}],\"prompt\":\"\u003Cp\u003EEnter the temperature in Nome (cell B-4) at 7am [blank-Nome7am], 11am [blank-Nome11am], and 3pm [blank-Nome3pm].\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2144-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Nome prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Nome at 7pm. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1738-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Prediction Strategy", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDescribe your plan or strategy for making these predictions. For example, did you see a pattern in the temperatures that helped you come up with your prediction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2145-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Map with Three Observation Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "type": "MwInteractive", + "ref_id": "97689-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143629, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction (Cont.)", + "position": 12, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe map on this page is just the same as the previous page except it includes the measurement for 7pm. Use the slider to compare your prediction to the measured data.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Checking Your Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147948-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"37\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"38\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"39\u00b0F\",\"correct\":true},{\"content\":\"40\u00b0F\",\"correct\":false,\"id\":\"aa2fd593-c08e-40e2-a0fd-8c1af86eba2d\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik (cell C-2) at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1739-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"39\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"40\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"41\u00b0F\",\"correct\":false},{\"content\":\"42\u00b0F\",\"correct\":true,\"id\":\"bdf4731a-c1e0-4794-9f9a-ef03e07668b2\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome (cell B-4) at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1741-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003E Does your prediction from the previous page match with the actual temperature for each city? If not, by how many degrees did they differ? Was your estimate high or low? \u003C/p\u003E\",\"hint\":\"\u003Cp\u003EHint: Subtract the estimate from the actual.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1742-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Revised Patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDid your strategy for predicting the temperature from the previous page work? Explain your answer.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2146-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Temperature at Four Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "type": "MwInteractive", + "ref_id": "97691-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143211, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 13, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease check your knowledge of the information in this lesson with this short quiz.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147380-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Interpolation Highlights\\n* Remind students that this activity is similar to the \\\"guessing\\\" process they used in their previous activity to fill in the data chart. \\n\\n* Explain again that weather scientists don\u2019t have data for every location on earth and that they interpolate data to develop a more complete picture. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9767-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for A below:\\n\\nWeighted Average = 36\\nNearest Neighbor = 30\\nLinear = 32\\n\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9768-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for B below:\\nWeighted Average = 42\\nNearest Neighbor = 48\\nLinear = 44\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9769-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for C below:\\nWeighted Average = 48\\nNearest Neighbor = 54\\nLinear = 51\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9770-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Making a prediction in blank spaces\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of talking to your neighbor about your weight while standing in a line\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Estimating and unknown value based on surrounding information\",\"correct\":true},{\"content\":\"d) Copying data from weather stations into blank spaces\",\"correct\":false,\"id\":\"fea96b2e-26aa-4fbc-8022-ee8cf6d0f9f1\"}],\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cInterpolation\u201d?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2003-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Weighted Average, Linear, Nearest Neighbor\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Weighted Neighbor, Linear Average, Nearest Common Denominator\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Weighted Linear, Nearest average, Friendly Neighbor\",\"correct\":false},{\"content\":\"d) Alphabetical, Numerical, Linear\",\"correct\":false,\"id\":\"95f3d0b0-6ada-4426-aae5-f91a7cfd469e\"}],\"enableCheckAnswer\":true,\"hint\":\"\",\"prompt\":\"\u003Cp\u003EWhat are the three forms of Interpolation you learned in this lesson?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2009-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It makes the map more interesting to look at so that people might want to watch the weather on television.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It makes it easier to see where the warmer air and cooler air is on the map instead of trying to look at individual numbers.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) Because it\u2019s fun to color things in.\",\"correct\":false}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhy does it help to color code temperatures on a weather map?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2010-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) From the southeast towards the northwest\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) From the East to the West\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) From the West to the East\",\"correct\":false},{\"content\":\"d) From the northwest towards the southeast\",\"correct\":true,\"id\":\"7fef3354-d757-4411-b431-288e9469301c\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EIn the example that you have just worked with, which direction is the colder air moving?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2011-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-3-post.json new file mode 100644 index 00000000..38ec1be9 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-3-post.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143592, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWhich Estimates Should We Trust?\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png\" width=\"555\" height=\"444\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas. (Each student\u0026rsquo;s estimated temperature choice is in \u003Cstrong\u003Ebold\u003C/strong\u003E to make it easier to find.)\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E53\u02da\u003C/strong\u003E because it\u0026rsquo;s furthest outside of the temperatures that were actually measured at a weather station.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E43\u02da\u003C/strong\u003E because it\u0026rsquo;s far away from any temperatures measured at a weather station.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E39\u02da\u003C/strong\u003E because there aren\u0026rsquo;t any other estimated temperatures near the 39\u02da estimate.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E37\u02da\u003C/strong\u003E because weather usually moves from west to east, so I\u0026rsquo;m unsure about estimates on the west side of the map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png\" alt=\"\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147898-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10240-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it\u2019s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there\u2019s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate \u2013 meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10241-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (39\u00b0)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin\u2019s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39\u00b0 as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n\u2022\\t**Sage\u2019s response (37\u00b0)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37\u00b0 may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n\u2022\\t**Delana\u2019s response (43\u00b0)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43\u00b0 cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana\u2019s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46\u00b0 and 51\u00b0 measured temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Alex\u2019s response (53\u00b0)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana\u2019s response above, if there were a weather front just to the east of the 46\u00b0 and 51\u00b0 observed temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10242-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1688-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1689-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json new file mode 100644 index 00000000..d446650a --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143591, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhich Estimates Should We Trust?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png\" width=\"555\" height=\"444\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas. (Each student\u0026rsquo;s estimated temperature choice is in \u003Cstrong\u003Ebold\u003C/strong\u003E to make it easier to find.)\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E53\u02da\u003C/strong\u003E because it\u0026rsquo;s furthest outside of the temperatures that were actually measured at a weather station.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E43\u02da\u003C/strong\u003E because it\u0026rsquo;s far away from any temperatures measured at a weather station.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E39\u02da\u003C/strong\u003E because there aren\u0026rsquo;t any other estimated temperatures near the 39\u02da estimate.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E37\u02da\u003C/strong\u003E because weather usually moves from west to east, so I\u0026rsquo;m unsure about estimates on the west side of the map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png\" alt=\"\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147895-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10237-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it\u2019s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there\u2019s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate \u2013 meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10238-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (39\u00b0)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin\u2019s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39\u00b0 as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n\u2022\\t**Sage\u2019s response (37\u00b0)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37\u00b0 may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n\u2022\\t**Delana\u2019s response (43\u00b0)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43\u00b0 cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana\u2019s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46\u00b0 and 51\u00b0 measured temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Alex\u2019s response (53\u00b0)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana\u2019s response above, if there were a weather front just to the east of the 46\u00b0 and 51\u00b0 observed temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10239-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1687-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1686-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-3.json b/src/public/offline-activities/precipitating-change-v3/lesson-3.json new file mode 100644 index 00000000..82e82222 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-3.json @@ -0,0 +1,1164 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Displaying Precipitation \u0026 Air Moisture Data", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143621, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application with Jackie Purcell", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how air moisture plays an important part in forming precipitation.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148013-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1765-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143588, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever been caught without your parka or boots when you needed them? Predicting rain or snow\u0026nbsp;is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EAs weather scientists, you will continue to explore weather maps. Now, you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number). The larger this number is, the more moisture is contained in the air.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPrecipitation symbol = raindrops\u003C/strong\u003E\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg\" alt=\"\" width=\"588\" height=\"141\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Precipitation and Air Moisture ", + "type": "Embeddable::Xhtml", + "ref_id": "147890-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 3: BUILDING RULES:\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students revisit the weather maps they constructed in Lesson 2 and add precipitation and air moisture data for additional time stamps to the weather maps to answer the question \\\"Where does it rain?\\\" Precipitation is a result of the complex interactions between temperature and moisture. Atmospheric scientists construct graphical displays of temperature and moisture content data to help them come up with rules to identify where precipitation occurs. \\n\\nThis lesson introduces a new way of utilizing the virtual simulation that allows students to start recognizing patterns and formalizing their rule statements with the data set they have been exploring in Lesson 2.\\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n* Explain the current weather conditions in their local context\\n\\n* Read weather maps using traditional symbols and codes (adding precipitation)\\n\\n* Use CT strategies (rule abstraction, rule development and rule testing) to develop a better understanding of how to model weather\\n\\nComputational Thinking (CT) skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. Students develop a general statement to answer the question \\\"Where does it rain?\\\"|\\n| Rule Abstraction | Developing a statement of how things work based on observed patterns. | Students make a generic statement to answer \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual model activity |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model.| The virtual model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10229-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (35 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Opening (5 mins)\\n**Activity 1 - Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (20 mins)\\n**Post-Assessment - Which Estimates Should We Trust? (10 mins)\\n\\n\\n### MATERIALS AND SET-UP\\n\\nThe materials and set up are repeated from Lesson 2 - Virtual Storm Technology and included below for your convenience.\\n\\nPer Research Team:\\n\\n* Marker\\n\\n* Fully charged and connected iPad/laptop \\n\\nPer Class:\\n\\n* Set up classroom grid\\n\\nWeather maps:\\n\\n* Display the 7 am, 11 am, and 3 pm completed gridded temperature map students created in Lesson 2, Activity 1 with colored sticky notes for temperatures.\\n\\nCity flags:\\n\\n* Place a printout of each of the Alaskan cities (Bettles, Galena, Nome, Noorvik, St. Mary\u2019s) in locations corresponding to the grid map for Alaska.\\n\\nIn the simulation:\\n\\n* As with the Virtual Storm from the previous lesson, run the simulation (starting at 7 am) and pause it at 3 pm. Students will only collect precipitation data for this activity.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10230-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 3.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10231-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1761-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143589, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "\u003Cp\u003EWould you change what you selected to wear? Yes or No\u003C/p\u003E\n\u003Cp\u003EIf yes, what would you change and why?\u003C/p\u003E", + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe map below shows the virtual storm that you have seen before. With the slider, you can see the storm at three times during one day. This map adds \u003Cem\u003Ehumidity\u003C/em\u003E and \u003Cem\u003Eprecipitation\u003C/em\u003E\u0026nbsp;data to the temperature data. Combining related data is called data aggregation.\u003C/p\u003E\r\n\u003Cp\u003ELook at the temperature and humidity data that is close to where the precipitation falls. Watch how the precipitation moves through the three times. Does the other data move too?\u0026nbsp;Can you see a pattern?\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EPrecipitation is shown with three raindrops:\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EThe air moisture and temperature data are shown this way:\u003Cimg class=\"\" src=\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/Temp-Moisture-Key.png\" alt=\"\" width=\"250\" height=\"173\" /\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Mapping Precipitation and Air Moisture with Temperature in the Virtual Storm", + "type": "Embeddable::Xhtml", + "ref_id": "147891-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Location of Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"G-4\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"id\":\"2\",\"content\":\"G-5\",\"correct\":false,\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"id\":\"3\",\"content\":\"D-6\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"content\":\"D-2\",\"correct\":false,\"id\":\"aff2b1f4-8271-4aaa-8338-fa504931c966\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"A-4\",\"correct\":false,\"id\":\"64b333f5-f8be-4b50-af1f-080692afa946\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"B-7\",\"correct\":true,\"id\":\"fc847408-296f-44b2-8aed-7e305f86ea70\",\"choiceFeedback\":\"Correct!\"}],\"prompt\":\"\u003Cp\u003ESet the map to show the data at 3 pm. Check all cells listed below that have precipitation.\u003C/p\u003E\",\"enableCheckAnswer\":true,\"customFeedback\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2163-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Guiding Question #1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt is raining on the warmest cell on the map.\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2164-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Guiding Question #2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt is raining on the coldest cell on the map.\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2165-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1- Virtual Storm: Exploring Precipitation, Air Moisture, and Temperature\\nThis activity is a continuation of the Virtual Storm simulation and has a similar set-up to the Lesson 2 - Virtual Storm. \\n\\nKey additions in this activity include:\\n\\n* Reusing the 7 am, 11 am, and 3 pm weather map created in Lesson 2.\\n\\n* Pausing the simulation at 3 pm and completely filling in each square. \\n\\nAdditionally, this lesson provides students with an opportunity to explore and explain why it rains in some areas and not others. Students work in teams of weather scientists to collect precipitation data and look for patterns in rainfall, temperature, and air moisture content. Students use the Virtual Storm technology from the beginning, but focus on what is happening at one point in time (at 3 pm). Students then brainstorm all of the patterns they see in the variables of temperature, air moisture, and precipitation and then use those patterns to come up with a general statement (rule) to explain under what conditions rain occurs. Students apply the CT skills of **Data Aggregation** and **Data Abstraction** as they collect and visualize their rain data, but **Pattern Recognition** is the primary computational thinking practice in this Lesson. This sets the stage for the next activity, where students will use the patterns they discover to abstract a rule statement about where rain occurs.\\n\\n###Activity Breakdown\\n**1. Set the stage for the virtual storm with precipitation.** In their research teams, students will be responsible for collecting precipitation data for the region at 7 am (once), 11 am (once), and the entire 3 pm (multiple times). \\n\\n**2. Start the virtual storm with precipitation.** Students first collect and enter precipitation data for 7 am and 11 am but the virtual storm will stay at 3 pm and students will work to complete the map of the region for 3 pm. Students aggregate precipitation data on the 3 pm weather map on the wall. Have students abstract precipitation data by representing it on the map with a raindrop on top of the temperature sticky notes.\\n\\n**3. Pause the virtual storm at 3 pm.** Students explore simulated precipitation only for 3 pm. Research teams move around the room to different locations collecting rain data to complete the 3 pm weather map. \\n\\n**4. Class brainstorm of precipitation patterns.** Lead a class brainstorm, looking for and recognizing patterns in the data. Have the students record their thoughts for precipitation in the online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10232-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"Temperature and Precipitation Discussion Prompts\\n\\n* After the map is complete, have students record their ideas in their Student Notebooks. Encourage students to use the maps on the wall as they describe observed patterns. \\n\\n* For a list of possible class discussion questions, see below: \\n * Where is the rain on the map?\\n * Why do you think it is raining in some places and not others?\\n * Is there a relationship between temperature and precipitation?\\n\\n**Teacher Note**: Patterns should include some notion of precipitation happening in warm areas, and that the rain is clustered in an area and somewhat resembles a diagonal line. Keep in mind that the data they are collecting is a subset of the larger dataset they saw in Lesson 1, Activity 2 - Making an Initial Prediction. This process is a way to help them dive deeper into the data to help support a stronger prediction later in the unit. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10233-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"In this tutorial, you will learn how to guide students in using the virtual storm interactive to test the rules they have created. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials - Where does it rain virtual model?\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10234-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "Data Relationships", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow would you describe the relationship between temperature and precipitation? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2166-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EOn the map below, click \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E, then use the slider to see the movement of the rain over three times of the day.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003ELook for patterns around where the rain falls. To see patterns, it may help to turn on or off the options of data, colors, and rain. For example, turn off \u003Cem\u003Eshow-data?\u003C/em\u003E and turn on \u003Cem\u003Eshow-colors?\u003C/em\u003E and \u003Cem\u003Eshow-rain?\u003C/em\u003E. Is it easier to see how temperature and precipitation move over time?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149127-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Virtual Storm with Rain at Three Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": true, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97738-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144724, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation, Continued", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "name": "Guiding Question #3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt rains in cells that have an air moisture of 5 or below.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2171-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Guiding Question #4", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt rains in cells that have an air moisture of 10.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2172-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Conditions for Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow would you describe the relationship between air moisture AND temperature AND precipitation? There are 3 parts to this answer.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2173-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EThe map with temperature, air moisture, and precipitation appears again below. Look carefully for patterns and relationships between all three types of data: temperature, air moisture, and where precipitation occurs.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149129-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97739-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143590, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Predicting Rain - First Try", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "\u003Cp\u003EYour teacher will lead a class discussion.\u003C/p\u003E\n\u003Cp\u003EPossible discussion questions:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; What was your prediction for the weather in Boston on November 7th at 7am?\u003Cbr /\u003E\u0026bull; What was your strategy that helped you develop your prediction?\u003C/p\u003E", + "sidebar_title": "Class Discussion", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe weather map of the virtual storm below shows temperature and air moisture data at 7pm. Use the relationships you just figured out between air moisture, temperature, and precipitation to try and predict where it will rain at 7pm.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "What Makes It Rain?", + "type": "Embeddable::Xhtml", + "ref_id": "147893-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1: Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (Continued)\\n\\n###Activity Breakdown\\n\\n**1. Set up Round 2 by leaving the Virtual Storm at 3 pm.** Explain to students that their new question is: \\\"Why is it raining in some locations and not others? Where does it rain?\\\"\\n\\n**2. Students explore and collect simulated air moisture content data in different spots at 3 pm to complete the weather map. **Air moisture is represented as a number between 1 (very dry air) and 10 (very moist air). Moisture content refers to how much water vapor is in the air. See discussion points below to help guide students through the process.\\n\\n**3. Class brainstorm of air moisture patterns.** See the Discussion Points for possible question prompts.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10235-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Air Moisture Content\\n* Temperature alone is not sufficient to fully answer the questions, \\\"Why is it raining in some locations and not others? Where does it rain?\\\" Another variable, such as air moisture content, is needed. \\n\\n* Briefly introduce the concept of air moisture content. Explain to the students that air contains microscopic water particles, called water vapor. Air moisture content refers to how much water vapor is in the air.\\n\\n* Reference possible students\u2019 past experiences with very moist air (e.g., in the shower or steam room) and/or very dry air (e.g., in a sauna or in the winter). The amount of water vapor is illustrated by an air moisture content number where 0 = very dry air and 10 = very moist air. Students may remember this concept from the data tables they received in Lesson 1.\\n\\n**Teacher Note**: The air moisture data students receive will already be abstracted, so no further abstraction is needed. It is expressed as a single number on a scale of 0 to 10, with 10 having the most water. This corresponds to mass of water per volume of air (i.e., g water/m\u003Csup\u003E3\u003C/sup\u003E air).\\n\\n###Exploration of Simulated Air Moisture Content at 3 pm. \\n* As research groups move around the room to different locations collecting air moisture data to complete the 3 pm weather map, encourage students to observe and share with each other where in the room the air is wettest, and where they guess it will likely be wettest before they check their instruments.\\n\\n###Air Moisture\\n* Lead a class brainstorm of air moisture patterns and have students record their ideas in their Science Notebooks.\\n* Encourage students to use the map on the wall as they describe observed patterns. \\n\\n* For a list of possible questions to guide your discussion, see below:\\n\\n * Where is the air wettest on the map?\\n\\n * Where is the air driest?\\n\\n * Do you see a relationship between air temperature and air moisture content?\\n\\n * Do you see a relationship between air moisture content and precipitation?\\n\\n**Teacher Note**: Students should come away with some notion of how temperature and air moisture seem to follow the same pattern (warm air = wet, cold air = dry), and that it only rains when the air is wet.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10236-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EList the coordinates of the cells in which you think it will rain. (Example: B-1, F-5...) Explain why you think it will rain in those cells.\u0026nbsp;\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2169-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Virtual Storm at 7 pm - No Precipitation Shown", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2167-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143695, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148890-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"75d5130a-6c7b-45f6-80cd-22d7b2eba0e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cprecipitation\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2017-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How much rain is falling to the ground\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Amount or content of water in the air\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) The temperature at which rain will start to fall\",\"correct\":false},{\"content\":\"d) The ratio of the temperature and the wind direction\",\"correct\":false,\"id\":\"65903405-cdf8-4532-a239-e913395a8b36\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of \u201cair moisture\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2018-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It will rain when the air is very dry\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It will rain when the air is very wet\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) It will rain when the air moisture is between 7 and 9\",\"correct\":true},{\"content\":\"d) It will rain when the air moisture is between 5 and 7 \",\"correct\":false,\"id\":\"019a4ccd-da14-4e5f-9692-fe79bddc7c0f\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the relationship between air moisture and precipitation?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2021-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144723, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 7, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-4-post.json new file mode 100644 index 00000000..f30b308c --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-4-post.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143598, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhat Are the Rules for Fronts and Precipitation?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147904-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10256-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10257-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10258-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1692-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1693-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json new file mode 100644 index 00000000..42509f1e --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143597, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhat Are the Rules for Fronts and Precipitation?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147903-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10253-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10254-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10255-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1690-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1691-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-4.json b/src/public/offline-activities/precipitating-change-v3/lesson-4.json new file mode 100644 index 00000000..fcc1b7f6 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-4.json @@ -0,0 +1,861 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Building Rules", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143689, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how\u0026nbsp;making sense of the weather data helps in predicting\u0026nbsp;weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148014-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1766-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143593, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.\u003C/p\u003E\n\u003Cp\u003EExample: This rule has two parts that must happen to have a certain result. If it was a [ \u003Cstrong\u003Every nice summer\u003C/strong\u003E ] and if it is [ \u003Cstrong\u003EAugust\u003C/strong\u003E ], then there will be [ \u003Cstrong\u003Elots of berries to pick\u003C/strong\u003E ].\u0026nbsp;\u003C/p\u003E\n\u003Cp style=\"text-align: justify;\"\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg\" alt=\"\" width=\"472\" height=\"221\" /\u003E\u003C/p\u003E\n\u003Cp\u003EThink about developing a similar statement that could be used to determine where it will rain.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147899-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 4: BUILDING RULES\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students develop a rule for where it will rain and test their rule using a Virtual Model. This lesson supports students to build their understanding of how observations of natural phenomena (weather) can be generalized (rule abstraction) for computational modeling (rule testing and rule refinement) and predictive purposes. This lesson introduces new technology, a Virtual Model, that allows students to test rules with the dataset they have been exploring in Lesson 3. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n\\n\\nComputational thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | CT Skill Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students develop a general statement to answer the question, \\\"Where does it rain?\\\" |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed. | Students make a generic statement to answer, \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual Model activity|\\n| Rule Refinement | Modifying a rule to be more precise to work in the model. Precise (exact, careful about details) | The Virtual Model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10243-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (45 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Activity 1 - Rule Abstraction Conversation (20 mins)\\n\\n**Activity 2 - Refining and Testing Rules using a Virtual Model (25 mins)\\n\\n### MATERIALS AND SET-UP\\n\\nPer Student:\\n\\n* Science Notebooks\\n* Access to Student Online Activities\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10244-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 4.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10245-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143595, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Rule Abstraction (cont.)", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.\u003C/p\u003E\n\u003Cp\u003ETo make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.\u003C/p\u003E\n\u003Cp\u003EYou can practice making more specific rule statements by answering the questions below and testing them using the model.\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147901-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EUsing the following rule, which pair of grid squares (A, B, or C) will produce rain?\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png\" alt=\"\" width=\"70\" height=\"72\" /\u003E\u003Cbr /\u003EIF the upper square (the northwest square)\u0026nbsp;\u0026nbsp;is colder than the lower square by [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E5 or more degrees\u003C/span\u003E\u003C/strong\u003E ] AND IF the moisture of the lower square is [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E7 or more\u003C/span\u003E\u003C/strong\u003E ] THEN it rains in the lower square.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD\" width=\"424\" height=\"182\" /\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "If / Then Rule", + "type": "Embeddable::Xhtml", + "ref_id": "149130-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "If / Then Rule 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":true},{\"id\":\"3\",\"content\":\"C.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhich square will have rain according to this rule?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2174-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "If / Then Rule 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":true},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. \",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhich square will have rain according to the following rule: \u003C/p\u003E\\n\u003Cp\u003E\u0026quot;IF the upper square (the northwest square) is colder than the lower square by [2 degrees] AND IF the moisture of the lower square is [8 or above] THEN it rains in the lower square.\u0026quot;\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2175-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "If / Then Rule 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C.\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhich square will rain according to the following rule:\u003C/p\u003E\\n\u003Cp\u003E\u0026quot;If the upper square (the northwest square) is colder than the lower square by [5 degrees] AND IF the moisture of the lower square is [6] THEN it rains in the lower square.\u0026quot;\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2176-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143596, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Finding the Rule with a Model ", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "name": "Best Rule", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat is the best and final rule to fit where it actually rains in our virtual storm? (Hint: write the sentence in the model, \u0026quot;If the square to the northwest is colder by at least _____ AND IF the air moisture is at least _____ THEN it rains.\u0026quot;)\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2177-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "How Well Does the Rule Work", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDid your rule fit the actual precipitation 100% for all the different times? Please explain why or why not.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2178-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Refining and Testing a Rule with a Virtual Model\\n\\n**Objective:** To deepen students\u2019 understanding of rule refinement with a virtual model that makes it easy to experiment with two varying quantities -- temperature difference and air moisture content. Students use this understanding to solve the challenge of finding the best rule that predicts where precipitation occurs.\\n \\n**1. Encourage students to explore the model.** Ask students to explore all the features of the model. When experimenting with setting rule values, they should try the extreme settings (maximums and minimums) as well as more moderate settings. After 5 to 10 minutes of independent work, let them **tell you** what they have discovered. They might find: \\n\\n* Weather data for five different times with each data set separated by four hours. \\n* Grid squares showing moisture in the upper right corner and temperature in the lower left. \\n* Actual rainfall indicated with the light blue drops. \\n* When \\\"show-results-of-the-rules?\\\" is selected, check marks show which parts of the rule are true. \\n* Check marks appear for each part of the rule when true: orange check for the temperature difference rule and green checks for the moisture rule.\\n* The \\\"Show Rain with these Rules\\\" button displays dark blue drops only where both the temperature difference rule and the moisture rule are true. \\n\\nA short discussion about the following, might be valuable before students go on to the challenge.\\n* Why are there no check marks on the top and left side of the grid? (The temperature rule can\u2019t be calculated because there is no square to the northwest in those rows.)\\n* Is there a rule that makes it rain everywhere (not counting the top and left rows)? Or nowhere?\\n* How did you explore the rules? \\n* How did you test them? \\n* What did you learn? (See if students found a technique for exploring the model. Students might benefit from hearing each other\u2019s strategies.)\\n\\n**2. Challenge: Find the best rule.** Remind students that they are pursuing this question, \\\"Where does it rain?\\\" Or more specifically, \\\"What conditions of temperature and moisture result in rain?\\\" \\n\\nHave students test their rule to find the best fit between the real data (light blue) and the data produced by the rule (dark blue) for the five different times (7 am, 11 am, 3 pm, 7 pm, and 11 pm). They will record their findings in the questions that follow the model.\\n\\nNotes: Try to let students discover that there is no perfect rule. That is, even the best rule may make rain in a square or two that had none or produce rain where there was none. Students will have to work through this. If they find it frustrating, let them know the rule doesn\u2019t need to be perfect. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10248-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Lead a class discussion at the end of the activity. Please see possible discussion points below:\\n\\n* Did working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\n* Would the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\n* Do you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\n* Even if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nDid working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\nWould the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\nDo you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\nEven if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nOptional discussion question, if you have time:\\nThe 7am, 11am, 3pm, and 7pm data matches the Virtual Storm event that you created in Lesson 2 and in Lesson 3. Is the rule that you developed in this activity different than the one in Lesson 3. How have they changed?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10249-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Alaskan Native Thoughts on Climate Change\\\", The International Polar Year, Sep 2, 2008, Run Time:02:09, http://www.ipy.org/index.php?/ipy/multimedia/\u0026view=1869\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10250-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Passport To Knowledge: Polar Palooza\\\", http://passporttoknowledge.com/polar-palooza/video/native01a.mp4\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10251-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this tutorial to learn how students will be interacting with the Virtual Model to test and refine their rule statements to answer the question, \\\"Where does it rain?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: Where Does It Rain?, 2019, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10252-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EPress \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E. Then, use the sliders to refine your precipitation rule until you have found the best fit between the actual precipitation shown in light blue and the precipitation predicted by the rule in dark blue. Test your rule by clicking \u003Cem\u003EShow Rain with These Rules\u003C/em\u003E.\u003C/p\u003E\r\n\u003Cp\u003ETry your rule with all of the data sets.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149131-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 800, + "native_width": 800, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/precip-rule-ak-v5.html", + "type": "MwInteractive", + "ref_id": "96960-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143694, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148891-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Simplifying data to make it easier to interpret and find patterns\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) A type of art that makes it difficult to see what the artist is trying to show\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) A piece of something\",\"correct\":false},{\"content\":\"d) When you remove a sliver from your finger\",\"correct\":false,\"id\":\"3a59d5ea-7526-46e7-b468-ff8612b9852d\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cabstraction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2022-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) If the square to the north-west is colder by at least 3 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) If the square to the north-west is colder by at least 5 and if the moisture is at least 9 then it will rain.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) If the square to the north-west is colder by at least 7 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"content\":\"d) If the square to the north-west is colder by at least 5 and if the moisture is at least 7 then it will rain.\",\"correct\":true,\"id\":\"d2ba7a47-fe6d-4a57-a07a-4aa83f0af8e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the best rule to answer the question, \u201cWhere will it rain?\u201d\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2023-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To keep children following the right behaviors\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To see the patterns in data that would allow a person to make a more accurate prediction\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) To explain the historical trends that occur in an area\",\"correct\":false},{\"content\":\"d) To measure the amount of rain that has fallen after a storm\",\"correct\":false,\"id\":\"6f5b2205-979f-4ca2-a12d-6389c5bf10a0\"}],\"prompt\":\"\u003Cp\u003E What is the purpose of a rule for predicting weather?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2024-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-5-post.json new file mode 100644 index 00000000..a96cb3e0 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-5-post.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Post-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143619, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Represent Wind Direction?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EThe word represent means to let one thing stand for another. For example, some people use the symbol of a\u003C/p\u003E\r\n\u003Cp\u003Eheart [\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png\" width=\"27\" height=\"23\" /\u003E] to represent (or stand for) love. \u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.\u003C/p\u003E\r\n\u003Cp\u003EHere are some different options Ms. Tevuk\u0026rsquo;s students are considering for representing wind direction.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull;\u0026nbsp;\u003Cstrong\u003EWind direction represented with degree number (between 0 and 360) based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png\" width=\"503\" height=\"230\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with letters based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png\" width=\"509\" height=\"234\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with arrows\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png\" alt=\"\" width=\"177\" height=\"181\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with different colors\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png\" alt=\"\" width=\"173\" height=\"177\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable style=\"border: solid 1px #000;\" cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use the \u003Cstrong\u003Eletters for the computer model\u003C/strong\u003E because there are only 8 options, so the computer will have simple information to calculate with and it won\u0026rsquo;t get stuck computing. We can use the \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because that way you can see which way the wind is going.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png\" width=\"267\" height=\"183\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png\" alt=\"\" width=\"270\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003ELet\u0026rsquo;s use \u003Cstrong\u003Enumber of degrees on the computer model\u003C/strong\u003E because computers do calculations with numbers. I think we should use \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because they make the pattern of wind direction easy to see.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png\" width=\"269\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png\" alt=\"\" width=\"271\" height=\"180\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Enumber of degrees for both the computer model and the map\u003C/strong\u003E because computers do calculations with numbers and our map should show what the computer calculated.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png\" width=\"257\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png\" width=\"253\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Ecolors for both the computer model and the map.\u003C/strong\u003E Colors are good for the map because it\u0026rsquo;s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png\" alt=\"\" width=\"275\" height=\"193\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png\" alt=\"\" width=\"275\" height=\"190\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147932-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1702-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning. \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1703-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17148-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10301-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10302-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10303-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json new file mode 100644 index 00000000..66d73883 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Pre-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143617, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Represent Wind Direction?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EThe word represent means to let one thing stand for another. For example, some people use the symbol of a\u003C/p\u003E\r\n\u003Cp\u003Eheart [\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png\" width=\"27\" height=\"23\" /\u003E] to represent (or stand for) love. \u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.\u003C/p\u003E\r\n\u003Cp\u003EHere are some different options Ms. Tevuk\u0026rsquo;s students are considering for representing wind direction.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull;\u0026nbsp;\u003Cstrong\u003EWind direction represented with degree number (between 0 and 360) based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png\" width=\"503\" height=\"230\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with letters based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png\" width=\"509\" height=\"234\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with arrows\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png\" alt=\"\" width=\"177\" height=\"181\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with different colors\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png\" alt=\"\" width=\"173\" height=\"177\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable style=\"border: solid 1px #000;\" cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use the \u003Cstrong\u003Eletters for the computer model\u003C/strong\u003E because there are only 8 options, so the computer will have simple information to calculate with and it won\u0026rsquo;t get stuck computing. We can use the \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because that way you can see which way the wind is going.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png\" width=\"267\" height=\"183\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png\" alt=\"\" width=\"270\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003ELet\u0026rsquo;s use \u003Cstrong\u003Enumber of degrees on the computer model\u003C/strong\u003E because computers do calculations with numbers. I think we should use \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because they make the pattern of wind direction easy to see.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png\" width=\"269\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png\" alt=\"\" width=\"271\" height=\"180\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Enumber of degrees for both the computer model and the map\u003C/strong\u003E because computers do calculations with numbers and our map should show what the computer calculated.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png\" width=\"257\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png\" width=\"253\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Ecolors for both the computer model and the map.\u003C/strong\u003E Colors are good for the map because it\u0026rsquo;s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png\" alt=\"\" width=\"275\" height=\"193\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png\" alt=\"\" width=\"275\" height=\"190\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147929-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1698-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning. \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1699-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17146-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10295-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10296-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10297-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-5.json b/src/public/offline-activities/precipitating-change-v3/lesson-5.json new file mode 100644 index 00000000..b9fa3feb --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-5.json @@ -0,0 +1,1164 @@ +{ + "description": "\u003Cp\u003EIdentifying Air Masses: Where does the air come from?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Identifying Air Masses", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143690, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how wind direction\u0026nbsp;impacts different air masses.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148015-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1767-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143599, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the\u0026nbsp;weather\u0026nbsp;- wind! The direction of the wind can give you clues about what\u0026nbsp;weather\u0026nbsp;to expect. And when the wind changes its direction drastically, interesting\u0026nbsp;weather\u0026nbsp;events can happen.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003EIn this lesson you will explore how air masses interact by\u0026nbsp;setting up a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more\u0026nbsp;weather\u0026nbsp;stations. In your Science Notebook, go to Lesson 5 to locate the following information:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Map with Additional Weather Stations and Data Tables\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Readings \u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;0 Alaskan Stations 7 am Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147905-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 5: IDENTIFYING AIR MASSES\\n\\n**WHERE DOES THE AIR COME FROM?**\\n\\nIn this lesson, students investigate the role that wind plays in determining the weather and are introduced to ways to identify and define an air mass. Air masses have a similar range of weather variables (temperature and moisture), have indistinct boundaries, and are categorized by the range of weather variables within them. The air within an air mass is constantly moving and precipitation can occur where air from different air masses mixes/interacts. Scientists use models to predict where precipitation will occur based on where different air masses interact, the type of air in each, and the movement of that air.\\n\\nTo begin to identify air masses, students will do a hands-on wind table activity, and get new temperature, air moisture content, and wind direction data for five additional weather stations. As in Lesson 4, the students once again construct a set of rules through a series of activities that allow them to uncover patterns in the data, investigate the mechanisms for these patterns, and abstract a rule that describes the relationship between wind direction, its associated air mass, and the resulting precipitation. \\n\\n###LEARNING GOALS\\nStudents will be able to:\\n\\n* Identify and define an air mass\\n\\n* Explain that air masses are defined by where they come from\\n\\n* Explain the role of wind in weather events\\n\\n* Identify where on a map two different masses are interacting/mixing\\n\\n* Develop a rule for how wind moves and test the rule with multiple kinds of air masses\\n\\n* Develop a rule to express the relationship between weather components (temperature and moisture) and air masses\\n\\nComputational Thinking (CT) skills introduced in this lessons can be found in the table below:\\n\\n| CT Skill | Definition |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed |\\n| Rule Testing | Investigating whether a rule will still be true in different situations |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model |\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10259-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (90 mins)\\n\\n**Key Activities:**\\n\\nLesson 5: Alaska Mainland - Identifying Air Masses\\n\\n* Activity 1- What is an Air Mass (45 mins)\\n\\n* Activity 2 - What happens when air masses collide (10 mins)\\n\\n* Activity 3 - How do air masses affect precipitation? (25 mins)\\n\\n* Post-Assessment - What Are the Rules for Fronts and Precipitation? (10 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - What is an Air Mass?\\n\\nPer Research Team:\\n\\n* Direct students to Lesson 5 in their Science Notebooks to find the following information:\\n * Lesson 5, Activity 1: Wind Table Instructions and Questions\\n * Lesson 5, Activity 2: Additional Weather Station Data\\n * Lesson 5, Activity 2: Weather Stations 7 pm Readings\\n * Lesson 5, Activity 2: Weather Stations 7 pm Interpolated\\n * Lesson 5, Activity 2: 7 pm Weather Station Data and 7 pm Radar Map\\n * Lesson 5, Activity 2: 7 am Weather Station Data \\n\\nPer Class:\\n\\n* Set up on one demonstration table that students can gather around: a wind fan, a piece of paper with a wind rose taped to the table, and a single weather vane. See below for a top-down view. \\n\\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5WIndTablesTopDownView1.jpg\\\" width=\\\"400\\\" height=\\\"350\\\"\u003E\\n\\n* To print the wind rose, click [here](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg) to download. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10260-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 5.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10261-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143600, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EMeasuring Wind with the Compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EOne way wind direction\u0026nbsp;can be measured is with\u0026nbsp;a weather\u0026nbsp;vane or air socks. When the wind blows, the\u0026nbsp;weather\u0026nbsp;vane rotates and lines up with the path the air is flowing. So,\u0026nbsp;wind direction\u0026nbsp;is determined by what direction the wind is blowing and measured in degrees (\u0026deg;).\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg\" alt=\"\" width=\"323\" height=\"328\" /\u003E\u003C/p\u003E\n\u003Cp\u003EIn this activity, you will use a Wind Table to map the movement of air on a grid representing a region in Alaska. Go to your Science Notebooks, Lesson 5, page 21, for further instructions and to record your observations.\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EWind Table\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png\" width=\"576\" height=\"510\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147906-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"\\n###Activity 1 - **What is an Air Mass?**\\nIn this activity students explore the patterns of air movement within and between air masses. Using a hands-on \u201cwind table,\u201d they engage in a tangible interaction with wind. By leveraging patterns from the previous activity dataset and the wind table, they will discover that when two air masses meet, the air converges. Weather scientists refer to these regions as fronts. \\n\\n###Wind Table Directions\\n * **1.Introduce the Wind Table.** Wind is one of the first things that atmospheric scientists look at when investigating the weather, but it can be difficult to understand by just looking at data and maps. A hands-on model is helpful to investigate a phenomenon like the wind.\\n\\n\\n * **2.Assign teams:** Assign research teams a Wind Table position number, either #1 or #2. \\n * **3.Wind tunnel position:** Have students place wind tunnel #1 and wind tunnel #2 according to the diagram in their Science Notebook for their assigned Team #.\\n * **4.Reminders:** Read over the things to keep in mind on page 21 in the Science Notebook, together as a class:\\n * **BE CAREFUL NOT TO PUT YOUR FINGERS NEAR THE FAN**\\n * Graph paper represents a region.\\n * A wind vane can be placed anywhere on the graph paper to determine what direction the wind is coming from.\\n * Record the wind direction by drawing an arrow in the direction the wind vane is pointing. (Recall that wind is always recorded showing the direction the wind is coming from.) If there is not a clear determination where the wind is coming from, then leave the square blank.\\n * Place a Styrofoam ball on the wind table to see the interaction between the two air masses.\\n * **5.Analyze air mass interactions** \\n\\n * Once all of the groups have finished mapping the wind direction, ask the students to determine the boundary of the two air masses by drawing a circle around the different air masses. \\n\\n * Ask the students if there was anywhere on the grid that they either had trouble deciding what direction to draw their arrow. Some students might remark that the wind vane wobbles or spins in the region between the two distinct air masses. Instruct the students to identify the diagonal region between the two air masses and circle this area with a green marker. \\n\\n* **6.Connecting the Wind Table to the interpolated map.** Ask students to compare Alaska Weather Stations: 7 pm Interpolated data with the wind map they created on their Wind Table. Lead a class conversation. See possible Discussion Points below. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10262-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Mass Properties \\n\\nTo a weather scientist, an air mass is a body of air with similar temperature and air moisture content. (Note that scientists also include pressure, but pressure is not covered in this unit.)\\n\\n###Wind Table Demonstration \\nThe compass rose describes the direction the wind is blowing in degrees. Wind coming directly from the South has a direction of 180\u00b0, from the East 90\u00b0, from the North 360\u00b0, etc. Place the fan to the \u201cNorth\u201d of the weather vane and turn it on. Move the weather vane so that it's at the center of the rose and have students read the wind direction from the rose. Then, move the fan to other locations. Ask students where you should move the fan to get a wind direction of, for example, 180\u00b0, 90\u00b0, 45\u00b0, etc. Move the fan to check their predictions. \\n\\n**Teacher Note:** Wind direction is determined by what direction the wind is coming from. This is a consequence of how it is measured. A weather scientist says, \u201cwinds coming from the northeast\u201d not \u201cwinds heading southwest.\u201d This distinction becomes very important when trying to map the flow of air over a region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10263-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143601, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EIDENTIFYING AIR MASSES\u003C/p\u003E\r\n\u003Cp\u003EIn Lesson 5 of your Science Notebook on pages 21-23, you have additional data weather station data and maps that show you the direction of the wind. On page 22, you will find a map that shows you the 7 pm reading from the additional weather stations. The arrows on the map represent the\u0026nbsp;wind direction. The data on page 23 of your Science Notebook, \"Weather Stations 7 pm Interpolated\" comes from an\u0026nbsp;interpolation\u0026nbsp;of wind direction\u0026nbsp;across the mainland of Alaska at 7 pm. See map below. Using the map on page 23, draw a line that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. It is your job to determine where you see that change in the\u0026nbsp;wind direction.\u003C/p\u003E\r\n\u003Cp\u003EStrategy for Identifying Two Air Masses:\u003C/p\u003E\r\n\u003Cp\u003E1. Make Sense of the Map:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each row and see if the arrows change direction as you move across the row.\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each column and see if the arrows change direction as you move down the column.\u0026nbsp;\u003Cbr /\u003E2. Identify where you are going to place your line.\u0026nbsp;\u003Cbr /\u003E3. Draw your line on your paper map.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147907-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhy did you draw the line there?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208885-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Identifying Air Masses and Fronts", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4.html", + "type": "MwInteractive", + "ref_id": "97692-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143602, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe line that you drew across your map represents a boundary between two\u0026nbsp;air masses. An air mass is a body of air with similar temperature and\u0026nbsp;air moisture\u0026nbsp;content. Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an\u0026nbsp;air moisture\u0026nbsp;content number at the bottom of the square.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg\" width=\"212\" height=\"292\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147908-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EDevelop a way to define the two air masses using the temperature and\u0026nbsp;air moisture\u0026nbsp;content values provided on the Alaskan Stations: Interpolated at 7 pm Map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg\" width=\"651\" height=\"429\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDefined Air Masses for the Alaska Mainland at 7 pm\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "DEFINING AIR MASSES", + "type": "Embeddable::Xhtml", + "ref_id": "147909-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cstrong\u003EAir Mass #1 Properties\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETemperature: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "colder", + "is_correct": false, + "prompt": "" + }, { + "choice": "warmer", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17140-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\" width=\"321\" height=\"88\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAir moisture: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "more moist", + "is_correct": false, + "prompt": "" + }, { + "choice": "more dry", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17141-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cstrong\u003EAir Mass #2 Properties\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETemperature: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #2 over land is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "colder", + "is_correct": false, + "prompt": "" + }, { + "choice": "warmer", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17142-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\" alt=\"\" width=\"354\" height=\"99\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAir moisture: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #2 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "more moist", + "is_correct": false, + "prompt": "" + }, { + "choice": "more dry", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17143-Embeddable::MultipleChoice" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143603, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EFronts\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EThe region between two different air masses is called a\u0026nbsp;\u003Cstrong\u003Efront.\u003C/strong\u003E Weather scientists are very interested in fronts because they are where the\u0026nbsp;weather\u0026nbsp;can change. Sometimes this change is very sudden.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147910-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EGo to page 24 in your Science Notebook and compare the 7 pm interpolated map and the 7 pm radar map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg\" alt=\"\" width=\"860\" height=\"300\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDiscuss with your research team and write a general statement that answers the question, \u0026ldquo;How do air masses affect where it rains?\"\u0026nbsp;\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147911-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Where is the front? Where is it raining? How do they compare?\u003Cbr /\u003E\u0026bull; How does the location of the precipitation on the radar map compare to the warm air mass, the cold air mass, and the front?\u003Cbr /\u003E\u0026bull; What is the air like where it is raining?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow do air masses affect where it rains?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208886-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EGo to page 25 in your Science Notebook and work with you research team to make a prediction for where you think it could rain at 7 am by drawing on the 7 am weather station map in your notebook.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png\" width=\"437\" height=\"263\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAlaska Stations: Interpolated at 7 am\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147912-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EExplain why you think it could rain in the area you selected.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208887-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Masses\\n\\nPossible discussion questions:\\n\\n* How do we identify air masses? (Responses should center on temperature, moisture and wind direction.)\\n\\n* What have you learned about the wind?\\n\\n* What questions do you still have?\\n\\n* Why do you think the wind is important in understanding the weather?\\n\\n\u2022 Are there any connections between the location of the air masses, fronts and precipitation? \\n\\n\u2022 Why do you think it is raining in some places and not others?\\n\\n**Teacher note:** Because air is invisible, students tend to have a lot of misconceptions about it. For example, the idea that air is a substance that can move is central to this lesson. It is easy to assume that students understand this concept when they may not. Asking probing questions can help bring their preconceptions to the forefront. The wind table will help students by giving them a concrete experience.\\n\\n###Describing the Front\\n\\n**Teacher note:** Student responses should be in terms of the actual movement of air and not just wind directions. The front is a particularly important area as students should identify it as a place where warm and cold air from the two air masses is coming together or mixing. Students will need a solid understanding of this concept as it will be revisited in the next lesson when they look at how fronts move over a region. \\n\\n###What is Happening at the Front\\n\\n**Teacher Note:** Students will likely notice that there is precipitation outside the area of the front and there are areas along the front that don\u2019t show precipitation. Make note of these discrepancies and remind them that, as we have seen before, we may not have all of the information to explain everything that we see. Some of their observations will be addressed in Lesson 5.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10264-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143604, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding (cont.)", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYou have made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am. The radar image shows where it was actually raining at 7 am.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png\" width=\"678\" height=\"500\" /\u003E\u003C/p\u003E\n\u003Cp\u003ERadar Image for 7 am\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147913-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow accurate was your prediction?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208888-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003ELook back at your original rule for the question, \u0026ldquo;How do air masses affect where it rains?\u0026rdquo; Using what you learned with the 7 am data, revise your rule.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208889-Embeddable::OpenResponse" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143605, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Air masses and precipitation", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWhen you feel the wind blow on your face, you are feeling air from another place. Sometimes it feels cold; sometimes it feels warm. The wind is what moves air. Weather scientists use\u0026nbsp;wind direction\u0026nbsp;to distinguish multiple air masses. What happens at the boundary of those two air masses? You will explore that question using a new Virtual Model. \u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147914-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EThis model shows wind as moving arrowheads and precipitation as green circles. There are two air masses. Identify where the front is.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EThen, by trying different settings of the temperature and moisture, see if you can make up a rule for what conditions produce precipitation along the front, and on which side of the front the precipitation will occur.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EStart by pressing \u003Cstrong\u003ESetup\u003C/strong\u003E and \u003Cstrong\u003ERun\u003C/strong\u003E. As you change temperatures and moisture settings you may want to press \u003Cstrong\u003ESetup\u003C/strong\u003E occasionally to start fresh. Be sure to discuss what you find with your research team.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147915-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe the position of the front, and explain how you know this.\u003C/p\u003E\r\n\u003Cp\u003EYou may use city names as landmarks.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208890-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Look at the temperature values for Air Mass 1 and Air Mass 2\u003Cbr /\u003E\u0026bull; Look at the moisture values for Air Mass 1 and Air Mass 2\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat are the conditions in the model that result in precipitation happening along a front?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208891-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Is the precipitation happening more on the colder side of the front?\u003Cbr /\u003E\u0026bull; Is the precipitation happening more on the warmer side of the front?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe specifically where the precipitation happens within the front.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208892-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003EMake sure to use precise language and include both temperature and moisture values.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EFinalize your rule statement for \u0026ldquo;How do air masses affect where it rains?\u0026rdquo;\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208893-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 3 - How Do Air Masses Affect Precipitation? Virtual Model\\n\\n**Objective:** To build students\u2019 rule refinement skills by experimenting with a model to figure out its built-in weather rules. In this model, precipitation falls under a variety of conditions that can be set by changing temperatures and moisture for two air masses. \\n\\nStudents can vary the temperature and moisture of two air masses in order to better understand how interacting air masses create patterns of rain at a front. Through this process, students will come up with an even more robust rule for predicting rain that involves interacting air masses. The specific computational thinking practice highlighted and practiced in this activity is **Rule Refinement**.\\n\\n**1. Class discussion about air mass properties.**Use the Alaska Weather Stations: 7am Interpolated map! [](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg) to remind students of the properties of the air masses in their regional weather system. See Discussion Points below for possible prompts. \\n\\n**2. Set up the model challenge.** \\n\\n* Have students recall the rule they developed to answer the question \u201cHow do air masses affect where it rains?\u201d \\n\\n* Students will use the Lesson 5 virtual model to help refine their rule.\\n\\n**3. Exploring the Virtual Model.** \\n\\nIntroduce the task, and give students time to explore the model. Then let them tell you what they discovered. They may notice:\\n\\n * The properties of the incoming air can be changed using the sliders on the left and bottom.\\n\\n * The direction of the wind can be seen with arrows and trails that can be turned on or off.\\n\\n * Precipitation appears as green circles with bigger circles meaning heavier rain.\\n\\n * Color of arrows correspond to temperature (Red = Warm, Blue = Cold, Purple = In Between)\\n\\n * Size of arrows correspond to air moisture (Small = dry, Large = moist or humid)\\n\\nYou may want to point out that\\n\\n * Even though the air in the model moves, the model shows airflow for a certain time. Time does not change.\\n\\n**4. Experiment with the Model to find the Rule**\\n\\nTell students that this model has a built-in rule for precipitation made by the model\u2019s programmer. Students\u2019 challenge is to discover the rule by experimenting with the model. \\n\\n * Students may find it helpful to express their experiments comparing warmer or colder temperatures and moister or drier moisture values instead of specific temperatures or air moisture values.\\n\\n * Give students time to play with the model and record their understanding of the model rule design in the questions that follow.\\n\\nNOTE: This is a fairly sophisticated weather model. Don\u2019t expect that students will discover the full precipitation rule. However, students should discover that the front runs up from the southwestern corner through Bethel and Anchorage with one air mass coming down from the northwest and the other up from the south and southwest. They may discover that generally, precipitation occurs along the front if there is a difference in temperature between the two air masses, and tends to form on the warmer side of the front. Although not always true, students will also see that precipitation forms other places than at the front. If the air masses are quite dry they may not produce precipitation. On the other hand, the warmer the air, the more moisture it can hold before precipitation appears. Very warm air can hold a lot of moisture producing a humid day without any rain.\\n\\nIf students are having trouble making rain, have them try a more systematic approach where they vary just one slider a step at a time to see the effect on precipitation. Be sure they know they have to wait a little while to see the effect of a change as the settings only affect the entering wind. Refreshing the screen by pressing Setup is often helpful. The point of this exercise is to see how well students can react to data and test as many options as possible. How deep is their thinking?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10265-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"After students have completed the questions on this page, project the model for the class, if possible. Ask students to discuss what they noticed about the model and what they learned from experimenting with it. The model is complex so there can be many viewpoints. The objective of this is to have students feel that they can learn from the model themselves. All observations are valid and up for discussion.\\n\\nPossible topics for discussion:\\n* It may be most valuable to discuss the questions student's answered on this page. An extended discussion could come from the question below.\\n\\n* What do the sizes and colors of the wind arrowheads mean? (The redder the warmer; the bluer the cooler; the larger the more moist; and the smaller the drier.)\\n\\n* Does precipitation fall only near the front? (No, it can fall where the arrowheads converge or come closer together.)\\n\\n* If the south settings and the west setting are the same, is there a front? (No, but the air may still converge.)\\n\\n* Do you see precipitation even where there is no front? What is a rule for it forming? (This is a little hard to figure out. By setting a high moisture level and then scanning through the temperatures, students can see that there are some intermediate temperatures that produce a lot of precipitation. At high temperatures, the air holds a lot of moisture; at low temperature the air holds little moisture.)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10266-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video to learn how students will use the Lesson 5 Virtual Model to test and refine their rule for, \\\"How do air masses affect precipitation?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: How Do Air Masses Affect Precipitation?, 2020, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10267-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Lesson 5:Air Mass Model", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/lesson-4-ak-v3.html", + "type": "MwInteractive", + "ref_id": "96961-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143693, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148892-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Can be determined using tools such as a weather vane, flag, or windsock\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Described by using the direction that the wind came from\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Described by using the direction that the wind is going to\",\"correct\":false},{\"content\":\"d) Only A and B\",\"correct\":true,\"id\":\"de903f5f-840c-40c0-91db-73c33017a515\"},{\"content\":\"e) Only A and C\",\"correct\":false,\"id\":\"3852ac5d-832a-4558-a526-1729c4a02a20\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of \u201cwind direction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2027-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A body of air with similar temperatures and air moisture content\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Where the weather begins\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) An air mass that is very dry with calm weather.\",\"correct\":false},{\"content\":\"d) The area between two colliding air masses of different temperatures that result in a change in weather.\",\"correct\":true,\"id\":\"9c06c9a6-3906-4afb-bdb1-066b8d22ad43\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cfront\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2029-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A measurement of the weight of the air.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) A body of air with similar temperatures and air moisture content.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) A piece of equipment that shows the direction the air is moving.\",\"correct\":false},{\"content\":\"d) The line between two fronts where the wind changes direction.\",\"correct\":false,\"id\":\"adf51964-b089-4d02-92c4-8ba5ddd87113\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is an air mass?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2030-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Compass rose and degree directions always tell where the wind is coming from.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Arrows always point where the wind is going.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Compass rose and degree directions always tell where the wind is going.\",\"correct\":false},{\"content\":\"d) Arrows always point where the wind is coming from.\",\"correct\":false,\"id\":\"4dcfa49c-9d65-44c8-ba59-30ad0232f898\"},{\"content\":\"e) Both A and B\",\"correct\":true,\"id\":\"cf4fa7b4-5048-40c0-acbe-478fffa79243\"},{\"content\":\"f) Both C and D\",\"correct\":false,\"id\":\"1dcfe310-0d3d-4879-bf47-0158c1310a6a\"},{\"content\":\"g) Both B and C\",\"correct\":false,\"id\":\"7ddeb9e9-b680-4974-8ed5-fc7aaeea1846\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EHow do meteorologists talk about the wind direction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2031-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) The colder drier air mass\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The colder wetter air mass\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The warmer wetter air mass\",\"correct\":true},{\"content\":\"d) The warmer drier air mass\",\"correct\":false,\"id\":\"cfed3538-0de4-4b54-8414-57afc6d5a849\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhen a front forms with the right conditions for precipitation, which air mass does the precipitation fall in?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2032-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-6-post.json new file mode 100644 index 00000000..b17f5c67 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-6-post.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143611, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Do We Make An Accurate Model to Predict Weather?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe need to run the model longer. The longer you run a computer model the better the prediction will be.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThere\u0026rsquo;s no way to make a computer model that can predict the weather. Computer models aren\u0026rsquo;t the real world, so they can\u0026rsquo;t predict what will happen in the real world.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules and testing the model predictions using Alaska weather data. That way we\u0026rsquo;ll know the model works.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147922-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10282-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10283-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n\u2022\\t**Delana\u2019s response (computer models can\u2019t predict the weather)** suggests the perspective that if you can\u2019t predict something perfectly then your model really doesn\u2019t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, \u201cthey are just models, so they don\u2019t really tell us what\u2019s going to happen in the real world.\u201d \\n\\nStudents who choose Delana\u2019s response could use support in developing understanding that computer models don\u2019t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow\u2019s weather at all. Students who choose Delana\u2019s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be \u201cgood enough\u201d to serve a purpose.\\n\\n###Middle Level \\n\u2022\\t**Alex\u2019s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn\u2019t the problem. \\n\\nStudents who choose Alex\u2019s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n\u2022\\t**Kalin\u2019s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it\u2019s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn\u2019t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n\u2022\\t**Sage\u2019s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model\u2019s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one\u2019s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10284-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1696-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1697-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json new file mode 100644 index 00000000..4288aee4 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143610, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Do We Make An Accurate Model to Predict Weather?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe need to run the model longer. The longer you run a computer model the better the prediction will be.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThere\u0026rsquo;s no way to make a computer model that can predict the weather. Computer models aren\u0026rsquo;t the real world, so they can\u0026rsquo;t predict what will happen in the real world.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules and testing the model predictions using Alaska weather data. That way we\u0026rsquo;ll know the model works.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147921-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10279-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10280-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n\u2022\\t**Delana\u2019s response (computer models can\u2019t predict the weather)** suggests the perspective that if you can\u2019t predict something perfectly then your model really doesn\u2019t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, \u201cthey are just models, so they don\u2019t really tell us what\u2019s going to happen in the real world.\u201d \\n\\nStudents who choose Delana\u2019s response could use support in developing understanding that computer models don\u2019t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow\u2019s weather at all. Students who choose Delana\u2019s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be \u201cgood enough\u201d to serve a purpose.\\n\\n###Middle Level \\n\u2022\\t**Alex\u2019s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn\u2019t the problem. \\n\\nStudents who choose Alex\u2019s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n\u2022\\t**Kalin\u2019s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it\u2019s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn\u2019t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n\u2022\\t**Sage\u2019s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model\u2019s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one\u2019s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10281-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1694-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1695-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-6.json b/src/public/offline-activities/precipitating-change-v3/lesson-6.json new file mode 100644 index 00000000..c7cf1982 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-6.json @@ -0,0 +1,546 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Modeling Fronts", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143691, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how moving fronts impact the weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148016-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1768-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143607, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow do fronts move?\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EOver the last couple of weeks, you have been exploring different aspects of regional data. You are now ready to begin to apply all of that knowledge to the unit challenge:\u0026nbsp;What will the\u0026nbsp;weather\u0026nbsp;be in Anchorage 24 hours from now?\u003C/p\u003E\n\u003Cp\u003EUse the resources from your past lessons to help inform your prediction. Go to page 28 in your Science Notebooks to review the Lesson 1, Weather Radar Maps for the Alaskan Region, to help you.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png\" width=\"297\" height=\"230\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png\" width=\"303\" height=\"231\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147917-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 6: MODELING FRONTS\\n**HOW DO FRONTS MOVE?**\\n\\nIn this lesson, students identify the location, direction, and rate of movement of the front. When warm and cold air masses collide, a front forms resulting in a change in weather. Fronts move across regions causing the local weather to change, sometimes suddenly. Scientists use models to predict changes in weather using the properties (temperature and moisture) of the air masses and their movement patterns. In this lesson, the focus shifts to how students can use the data to solve a problem and less on learning about the components of weather (as they did in Lessons 1 - 5). The understandings developed in this lesson support students in developing their predictions for the unit challenge in Lesson 7. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Understand that air masses are constantly moving and their characteristics (temperature and moisture) change\\n\\n* Identify evidence of a front moving through a given location \\n\\n* Analyze the speed and direction of a front moving over a region from given data\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10269-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (1 hour and 30 minutes)\\n\\n**KEY ACTIVITIES:**\\nPre-Assessment: Lesson 6: What Do You Think? (10 mins)\\nActivity 1 - Where is the Front Going? (35 mins)\\n\\nActivity 2 - How Fast is the Front Moving? (45 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - Where is the Front Going?\\n\\nPer Research Team:\\n\\n* Tablet/laptop\\n\\n* Science Notebook\\n \\n * Front Visualizations at 11 am, 9 pm, and 7 am\\n\\n* Alaska Map Transparency\\n\\n* Straight edge (ruler)\\n\\n* Wet erase markers\\n\\n* Paper towels (for erasing)\\n\\nPer Class:\\n\\n* Water (for students to erase on their transparencies, if needed)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10270-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 6.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson6_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10271-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143608, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Where is the front going?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch the \"Lesson 6: Modeling Fronts\" video as a class and think about the question, \"Where is the\u0026nbsp;front\u0026nbsp;going?\" and \u0026ldquo;What do we need to know about the\u0026nbsp;front\u0026nbsp;to predict where it will be in the future?\u0026rdquo;\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003EUsing all the resources you have available to you, including your computational thinking skills, datasets, and the Virtual Model images showing the following time steps (11 am, 9 pm, and 7am), work with your research team to answer the question, \"In what direction is your front moving?\"\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg\" alt=\"\" width=\"743\" height=\"278\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147918-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EIn what direction is your front moving? Be as specific as you can.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208894-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow do you know the front is moving in that direction?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208895-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 1 - Where is the Front Going?\\n\\nThe focus of this activity is to provide students an opportunity to decompose a smaller challenge before they revisit the unit challenge in Lesson 7. In this activity, students use front visualizations from 11 am, 9 pm, and 7 am to see where the air masses are colliding (i.e., the front) at different times and to track the direction of the front. The specific computational thinking skills highlighted and practiced in this activity are **Decomposition**, **Pattern Recognition**, and **Model Evaluation**.\\n\\n###Activity Breakdown\\n\\n1.Play the Lesson 6 Virtual Model tutorial.\\n\\n2.Research teams use the Front Visualizations in their Science Notebooks and the Alaska Map Transparency to describe the direction the front is moving.\\n\\n3.In the student online activity, teams summarize their findings for the direction the front is moving within the region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10272-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Where is the Front Going? Strategy Tips \\nThe intention of this task is to provide students with a more open-ended task than seen in Lessons 1 - 4 and to give them an opportunity to apply their CT skills before solving the unit challenge. It is important that students work independently. The goal is to see if students can decompose the mini front challenge on their own. Additionally, this shift in perspective gives the students agency in their own learning to identify which CT skills are key to addressing this question. Students should realize that they know how to identify a front from Lesson 4, and have data at their disposal that can help them figure out the location of the front is at different points in time. Ideally, they will decompose \u201chow the front moves\u201d into two components: direction (which way it is heading) and speed (distance/time). Please see a list of possible discussion prompts to guide students through this process:\\n\\n\\n* Remind students that they learned how to identify a front in the last lesson, and that fronts can be an indicator of complex weather. \\n\\n* Point out that the unit challenge is to make a decision on if they are to continue, cancel, or postpone the Native Youth Olympics (NYO Games) and explain to them that figuring out where this front will be in 24 hours can help improve their prediction.\\n\\n* Raise the question: What do we need to know about the front to predict where it will be in the future? \\n\\n* Ask the research teams to:\\n\\n * Think about the question and brainstorm their ideas as a group.\\n * Identify the computational thinking skills they think will help them address this challenge. \\n\\n * Identify what features in the Virtual Model would help them answer this question. \\n * Identify what data they have from Lessons 1 - 5 that would help them answer this question.\\n* Have research teams answer the online activity questions.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10273-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Show this video to your students before directing them to page 29 in their Science Notebooks and have students answer the question, \\\"Where is the front going?\\\" Students will then use the transparency and the Virtual Model maps of the front from 11 am, 9 pm, and 7 am on pages 30-32 to determine how fast the front is moving. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials - Modeling Fronts.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson6WhereistheFrontGoing.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10274-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143609, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "How fast is the front moving?", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ENow that you and your research team have figured out which way the\u0026nbsp;front\u0026nbsp;is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it\u0026rsquo;s going to pass through there. Where the\u0026nbsp;front\u0026nbsp;is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the\u0026nbsp;weather.\u003C/p\u003E\n\u003Cp\u003ETo best predict where the\u0026nbsp;front\u0026nbsp;will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance over time). Once you know both speed and direction (from Activity 1) of the\u0026nbsp;front, your\u0026nbsp;weather\u0026nbsp;analysis will help you answer the question \u0026ldquo;How fast is the\u0026nbsp;front\u0026nbsp;moving?\u0026rdquo;\u003C/p\u003E\n\u003Cp\u003EYou will have the following tools to help you:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; Your\u0026nbsp;front images from the Virtual Model\u003Cbr /\u003E\u0026bull; A regional map transparency\u003Cbr /\u003E\u0026bull; Rulers and pens\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147919-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EUsing the available materials, develop a strategy for calculating the rate of the\u0026nbsp;front. Remember that speed equals distance an object moves divided by the time it takes the object to move to its new location.\u003C/p\u003E\r\n\u003Cp style=\"padding-left: 30px;\"\u003E\u003Cstrong\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Speed = Distance/Time\u003C/strong\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147920-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Your answer should be a rate or speed.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Speed is a measurement of distance over time.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Distance can be measured in units of kilometers, miles, etc.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Time can be measured in hours, days, etc.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow fast is the\u0026nbsp;front\u0026nbsp;moving? Be as specific as you can.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208896-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Explain your strategy.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Talk about what you did to come up with your answer.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe how your team figured out how fast the\u0026nbsp;front\u0026nbsp;is moving.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208897-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - How Fast is the Front Moving?\\n\\nThe focus of this activity is for students to analyze the visualization data they generated in Activity 1 and to develop a statement defining the speed of the front moving across the region. The activity ends with research teams developing a description of how fast the front is moving and recording it in the student online activity. The specific computational thinking practice highlighted and practiced in this activity is **Pattern Recognition**.\\n\\n\u003Cbr\u003E**1. Calculate the speed the front is moving.**\\n\\n* Pass out to the research teams their Science Notebooks with the front visualizations, Regional Map Transparency, wet erase markers, paper towels, and rulers. \\n\\n* Students may also want to use the [L1A2: Alaska Weather Station Data Sheet](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1A2_WeatherStationDataAK.png) and the [L4A1: Alaska Additional Weather Stations handouts](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4A1_AdditionalWeatherStationsDataSheet_AK.png). \\n\\n* The primary challenge for students will be deciding where on the front to use as a reference point when measuring the distance that it moves from timestamp to timestamp. Here are some possible suggestions to help the students with this:\\n\\n * Use a ruler to draw a straight line that approximates the middle of the front.\\n\\n * If the front is curved, choose an area that is generally straight.\\n\\n * Encourage students to be consistent, i.e., choose the same reference point every time.\\n\\n**2. Create an analysis statement.** Students use their tools to analyze the movement of the front and develop an analysis statement that summarizes the front movement. They record their statement in the student online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10275-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"The key to this activity is for students to mark up the Regional Map Transparency with the location of the front at each of the time steps that were captured in the visualizations. Once all the time steps are captured on one map (via a transparency marker), students can calculate the speed by measuring the distance between each location of the front and taking an average. Once they have an average distance the front moves and the amount of time between each front line, they can plug their number into a standard speed formula.\\n\\n\u003Cbr\u003EPlease see an example below of a final statement students will make after completing this activity:\u003Cbr\u003E\u003Cbr\u003E\\n**The front is moving from X to Y at a speed of Z.**\u003Cbr\u003E\u003Cbr\u003E\\n\\n\\n\\nStudents can use whatever terms make sense to them. For example, X can stand for \u201cleft,\\\" \u201cupper left,\\\" or \u201cNorthwest.\\\" Speed can be in recorded in squares per hour, squares per every two hours, kilometers per hour, etc.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10276-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a higher resolution and requires a higher bandwidth to download. Please use the lower resolution/lower bandwidth video option below if you have trouble downloading this video.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/alaska-pilot-final.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10277-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a lower resolution and should be used if you have trouble downloading the higher resolution video above.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska-Pilot-Final-low-res.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10278-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143692, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148894-Embeddable::Xhtml" + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-7.json b/src/public/offline-activities/precipitating-change-v3/lesson-7.json new file mode 100644 index 00000000..75380722 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v3/lesson-7.json @@ -0,0 +1,984 @@ +{ + "description": "\u003Cp\u003EAnalyzing Data and Making a Prediction: What will the weather be like 24 hours from now?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 7: Analyzing Data and Making a Prediction", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143696, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how\u0026nbsp;to make predictions for upcoming weather patterns.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148017-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1769-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143612, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYou have been planning the Alaskan Native Youth Olympics (NYO Games) for April 23rd at 7:00 am. This event has been planned for months and the committee is expecting over 500 people to attend. One of your jobs on this committee is to watch the\u0026nbsp;weather\u0026nbsp;and determine if the event is safe to proceed as\u0026nbsp;planned, or if it should be\u0026nbsp;postponed\u0026nbsp;or\u0026nbsp;even canceled.\u003C/p\u003E\n\u003Cp\u003EIt\u0026rsquo;s time to put your computational thinking skills to work!\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147923-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 7: ANALYZING DATA AND MAKING A PREDICTION\\n\\n**What will the local weather be 24 hours from now?**\\n\\nIn this lesson, students revisit the unit challenge and the original question posted to them in Lesson 1, \\\"Should the NYO Games proceed as planned, be postponed or canceled?\\\" Students assume the role of weather forecasters and make a weather prediction for Anchorage on April 23 at 7 am using regional data and models they have been exploring throughout this unit. This lesson is the unit\u2019s capstone experience. \\n\\n\u003Cbr\u003E**LEARNING GOALS:**\\n\\nStudents will be able to:\\n\\n* Articulate how data is visualized from a historic weather event (i.e., temperature, precipitation, wind speed, and wind direction)\\n\\n* Analyze data from a historical weather dataset and provide a description/explanation of the weather event\\n\\n* Make a prediction of future weather using data and reasoning to support their claim\\n\\n* Apply the CT skills they have developed in their analysis of the weather event\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10285-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 3 class periods (135 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\nActivity 1 - Reflecting on the Unit (45 mins)\\n\\nActivity 2 - Research Teams in Action(120 mins)\\n\\nConclusion (15 mins)\\n\\n\\n\u003Cbr\u003E**MATERIALS AND SET-UP:**\\n\\nActivity 2 - Research Teams in Action\\n\\n* Student Presentation Template in [Keynote](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key), [Google](https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing/?target=_blank), or [Powerpoint](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx)\\n\\n* Actual weather in Anchorage on day of event: Moderate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain.\\n\\nTemperature: 43\u00b0F/6.1\u00b0C\\nWind: 280\u00b0\\nPrecipitation: none\\n\\n* [Virtual Model](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) to display where the front will be at the time of the NYO games. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"!Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10286-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a lower resolution and requires a lower bandwidth and should be used if you have difficulty downloading the higher resolution/higher bandwidth option. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10287-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a higher resolution and requires a higher bandwidth. If you have difficulty downloading this video use the lower bandwidth option.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/ConcordAlaska7Final-low.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10288-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143613, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThroughout the Precipitating Change, you have been developing some computational thinking skills that real weather scientist use. Although we have not named the skill until now, notice in the table below the skills you have used to help decide if the NYO Games should proceed.\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr bgcolor=\"#D3D3D3\"\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u003Cstrong\u003EDefinition\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u0026nbsp;\u003C/th\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u003Cstrong\u003EComputational Thinking Skill\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EOrganizing a large amount of information (data) into smaller more manageable parts.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg\" width=\"235\" height=\"132\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp\u003E\u003Cstrong\u003EDecomposition\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EIn \u003Cstrong\u003ELesson 1, \u003C/strong\u003Eyou organized weather station data over a two-day period and radar maps of Alaska every 6 hours to make a prediction.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ERecognizing that data or information is repeating in a logical (expected) way.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png\" width=\"159\" height=\"181\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPattern Recognition\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you ran the model to see temperature data and patterns of data moving across the map. Before and after each run of the model, you interpolated data. You discovered that warm and cold spots on the map are at times on certain sides, and also you saw these spots change location over time.\u003C/p\u003E\r\n\u003Cp\u003EIn\u003Cstrong\u003E Lesson 3 and 4\u003C/strong\u003E, you ran the models to develop a general statement to answer the question \"Where does it rain?\".\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EEstimating an unknown value based on surrounding information.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg\" alt=\"\" width=\"206\" height=\"117\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EInterpolation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you made best guess estimates of the temperatures that were missing on the map.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EFollowing a pattern beyond the known data points.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg\" width=\"205\" height=\"116\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EExtrapolation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you predicted future weather based on patterns you observed in the changing temperatures you collected and visualized.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ECollecting and organizing data to better understand the topic.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg\" width=\"226\" height=\"127\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData Aggregation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you observed temperature data from a model and organized the data to see the \u0026ldquo;big picture\u0026rdquo;.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center; padding: 20px;\"\u003E\r\n\u003Ctd style=\"padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ESimplifying data to make it easier to interpret and find patterns.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg\" width=\"235\" height=\"132\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData Abstraction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you came up with a color scheme for temperature and changed how the data was represented from numbers to temperature categories, and then to colors.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EDeveloping a statement of how things work based on the patterns you observed.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png\" width=\"232\" height=\"143\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003ERule Abstraction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 3\u003C/strong\u003E, you made a generic statement to answer the question, \"Where does it rain?\".\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ELooking at the big picture by putting all the components together in the model to see if it works.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png\" width=\"240\" height=\"176\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EModel Evaluation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 4 and 5\u003C/strong\u003E, you ran a model to determine whether a rule was still true in different situations.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EModifying a rule to be more precise (exact, careful about details) to work in the model.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png\" width=\"254\" height=\"188\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003ERule Refinement\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 4 and 5\u003C/strong\u003E, as you ran the model, you were able to test your rule statements and make changes based on the model.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EForecast based on evidence about a future event.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png\" width=\"274\" height=\"143\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData-based Prediction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 6\u003C/strong\u003E, you selected data including temperature, air moisture and wind direction to help form a forecast about a future event.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147924-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": true, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich skill was the easiest to use? Please explain why.\u003C/p\u003E\r\n\u003Cp\u003Ea)\u0026nbsp;\u0026nbsp; \u0026nbsp;Decomposition\u003C/p\u003E\r\n\u003Cp\u003Eb)\u0026nbsp;\u0026nbsp; Pattern Recognition\u003C/p\u003E\r\n\u003Cp\u003Ec)\u0026nbsp;\u0026nbsp; Interpolation\u003C/p\u003E\r\n\u003Cp\u003Ed)\u0026nbsp;\u0026nbsp; Extrapolation\u003C/p\u003E\r\n\u003Cp\u003Ee)\u0026nbsp;\u0026nbsp; Data Aggregation\u003C/p\u003E\r\n\u003Cp\u003Ef)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eg)\u0026nbsp;\u0026nbsp; Rule Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eh)\u0026nbsp;\u0026nbsp; Model Evaluation\u003C/p\u003E\r\n\u003Cp\u003Ei)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Rule Refinement\u003C/p\u003E\r\n\u003Cp\u003Ej)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data-based Prediction\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208898-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": true, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich skill was the hardest to use? Please explain why?\u003C/p\u003E\r\n\u003Cp\u003Ea)\u0026nbsp;\u0026nbsp; Decomposition\u003C/p\u003E\r\n\u003Cp\u003Eb)\u0026nbsp;\u0026nbsp; Pattern Recognition\u003C/p\u003E\r\n\u003Cp\u003Ec)\u0026nbsp;\u0026nbsp; Interpolation\u003C/p\u003E\r\n\u003Cp\u003Ed)\u0026nbsp;\u0026nbsp; Extrapolation\u003C/p\u003E\r\n\u003Cp\u003Ee)\u0026nbsp;\u0026nbsp; Data Aggregation\u003C/p\u003E\r\n\u003Cp\u003Ef)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eg)\u0026nbsp;\u0026nbsp; Rule Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eh)\u0026nbsp;\u0026nbsp; Model Evaluation\u003C/p\u003E\r\n\u003Cp\u003Ei)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Rule Refinement\u003C/p\u003E\r\n\u003Cp\u003Ej)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data-based Prediction\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208899-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1 - Reflecting on the Unit\\n\\nThe focus of this activity is for students to reflect upon all the computational thinking skills they developed over the unit. The specific computational thinking skill highlighted and practiced in this lesson is **Data-based Prediction**.\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10289-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Synthesis Discussion\\n\\n* Introduce Data-based Prediction as the new CT skill used in this Lesson and discuss as a class using the prompts below: \\n\\n * How will you use this skill in this lesson?\\n\\n * How is your process for making your prediction different now in Lesson 7 than in Lesson 1?\\n\\n * Why do you think knowing this is important?\\n\\n* Review the Computational Thinking (CT) skills chart with your students and see if they can recall when they used the different skills throughout the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10290-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhich skill was the easiest to use? Please explain why.\u003C/p\u003E\\n\u003Cp\u003Ea) Decomposition\u003C/p\u003E\\n\u003Cp\u003Eb) Pattern Recognition\u003C/p\u003E\\n\u003Cp\u003Ec) Interpolation\u003C/p\u003E\\n\u003Cp\u003Ed) Extrapolation\u003C/p\u003E\\n\u003Cp\u003Ee) Data Aggregation\u003C/p\u003E\\n\u003Cp\u003Ef) Data Abstraction\u003C/p\u003E\\n\u003Cp\u003Eg) Rule Abstraction\u003C/p\u003E\\n\u003Cp\u003Eh) Model Evaluation\u003C/p\u003E\\n\u003Cp\u003Ei) Rule Refinement\u003C/p\u003E\\n\u003Cp\u003Ej) Data-based Prediction\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1895-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhich skill was the hardest to use? Please explain why?\u003C/p\u003E\\n\u003Cp\u003Ea) Decomposition\u003C/p\u003E\\n\u003Cp\u003Eb) Pattern Recognition\u003C/p\u003E\\n\u003Cp\u003Ec) Interpolation\u003C/p\u003E\\n\u003Cp\u003Ed) Extrapolation\u003C/p\u003E\\n\u003Cp\u003Ee) Data Aggregation\u003C/p\u003E\\n\u003Cp\u003Ef) Data Abstraction\u003C/p\u003E\\n\u003Cp\u003Eg) Rule Abstraction\u003C/p\u003E\\n\u003Cp\u003Eh) Model Evaluation\u003C/p\u003E\\n\u003Cp\u003Ei) Rule Refinement\u003C/p\u003E\\n\u003Cp\u003Ej) Data-based Prediction\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1896-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143614, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection (cont.)", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EYour Initial Prediction\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EAt the beginning of the unit you made a weather prediction.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147925-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"\",\"teacherTip\":\"You may need to turn on Lesson 1 again if students don't remember what their prediction was on (page ?) in Lesson 1. \",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10291-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EIn Lesson 1, Activity 2 - Making a Prediction, what did you predict the weather will be at 7:00 am in Anchorage on April 23?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1897-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"a6d209ef-958d-474c-a8db-e1b73b84fde7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"2ffa3691-0e65-48b2-8466-b8528d8de2b5\"}],\"prompt\":\"\u003Cp\u003EHow confident were you of your prediction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1898-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143615, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Research Teams in Action", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYour team will produce up to a two-minute weather forecast. You may use the template provided or you may develop your own. In addition, each team needs to write a script or outline that explains your forecast. Include in your forecast the following:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003ELocation of the front that you have been tracking\u003C/li\u003E\n\u003Cli\u003ETemperature\u003C/li\u003E\n\u003Cli\u003EPrecipitation\u003C/li\u003E\n\u003Cli\u003EWind Direction\u003C/li\u003E\n\u003Cli\u003EDecide to hold NYO or to cancel or postpone it due to bad weather preventing teams from flying into Anchorage\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003EYou can access the Student Presentation Template in \u003Ca href=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key\" target=\"_blank\" rel=\"noopener\"\u003EKeynote\u003C/a\u003E, \u003Ca href=\"https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing\" target=\"_blank\" rel=\"noopener\"\u003EGoogle\u003C/a\u003E, or \u003Ca href=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx\" target=\"_blank\" rel=\"noopener\"\u003EPowerpoint\u003C/a\u003E to prepare your forecast.\u003C/p\u003E\n\u003Cp\u003EYou have additional resources to help you:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EWeather\u0026nbsp;Station Data (temperature, moisture content, and\u0026nbsp;wind direction\u0026nbsp;from 10 stations for every 2 hours)\u003C/li\u003E\n\u003Cli\u003ERadar Images (shows\u0026nbsp;precipitation\u0026nbsp;in the region every 6 hours)\u003C/li\u003E\n\u003Cli\u003ERules for where\u0026nbsp;precipitation\u0026nbsp;is likely to occur\u003C/li\u003E\n\u003Cli\u003ERules for how heavy\u0026nbsp;precipitation\u0026nbsp;is likely to be when it occurs\u003C/li\u003E\n\u003Cli\u003EYour model analysis statement of the speed and direction the\u0026nbsp;front\u0026nbsp;is moving\u003C/li\u003E\n\u003C/ul\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147926-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"**1. Guide student teams to complete their weather forecast.**\\n\\n**2. Reveal the actual weather for 7 am on the NYO Games day.**\\n\\nIf possible, project this [MODEL](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) for your students. It is designed to easily show the progress of the front leading up to the NYO Games. It is designed to give your students a sense of completion with their work in this curriculum. It could also help frame a final discussion.\\n\\nThe model has wind data for 13 different days and times from the 10 Alaska weather stations. The drop-down menu, the slider, and the arrow buttons allow you to easily select the wind data in 2-hour intervals between April 21 at 7am to April 22 at 7 am. If you uncheck the \\\"wind-visible?\\\" and \\\"trails?\\\" features you can click through a 24 hour period to see how the wind changes at each station. Repeating this more slowly with one or both checkboxes set true, will show the progress of the front. Finally, press the Reveal button to see the wind at the beginning of the NYO Games. \\n\\nAlso, please see the **Anchorage weather report** below:\\nModerate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain. \\n\\n* Temperature: 43\u00b0F/6.1\u00b0C\\n* Wind: 280\u00b0\\n* Precipitation: none\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10292-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Students will be producing a weather forecast in this lesson. They will deciding to hold the Native Youth Olympics in Anchorage on April 23. Students could also recommend postponing NYO as well.\\n\\nStudents in their teams will be editing a presentation template or creating their own and will be develop a script or outline for the weather forecast to be presented to the class. Please see steps to guide students through the process below:\\n\\n1. Teams will edit the template for their forecast or create their own.\\n\\n2. Teams will write a script or outline to use in their forecast presentation.\\n\\n3. When the team is ready to present, project the presentation. \\n\\n4. As each team presents, video record the presentation.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10293-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143616, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs a research team, reflect on your experience both in this lesson and the weather unit as a whole.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147927-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDid your weather predictions get better at the end of the unit? Why or why not?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208901-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhy do you think weather forecasters sometimes get weather predictions wrong?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208902-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EImagine you could create your own computer weather model to make an even better weather prediction. What extra features would your model have? What could your model do?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208903-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat other problems do you think you could use computational thinking to solve?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208904-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Reflection on the computational thinking practices students learned throughout the unit. \\n\\n* Have a class discussion about computational thinking and weather. You can use the online activity questions as prompts:\\n\\n * Did your weather predictions get better at the end of the unit?\\n\\n * Why do you think weather forecasters sometimes get weather predictions wrong?\\n\\n * If you could have created your own computer weather model to make a better prediction, what else would you have your model do?\\n\\n * What other problems do you think you could use computational thinking to solve?\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10294-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144656, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Presentation", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp style=\"padding-left: 30px;\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/L7instructionsscale.png\" width=\"720\" height=\"329\" /\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149053-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/weather_forecasting_tools.png\" width=\"720\" height=\"215\" /\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149055-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{\"b74ab519-8aa4-47d3-999b-39455379f007\":{\"left\":203,\"top\":20},\"9645999f-9613-4843-9cda-cb216a1d39c2\":{\"left\":107,\"top\":113},\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\":{\"left\":202,\"top\":187}}},\"draggableItems\":[{\"id\":\"f6793037-7a87-445d-8772-9c9eb7855150\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"b74ab519-8aa4-47d3-999b-39455379f007\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"9645999f-9613-4843-9cda-cb216a1d39c2\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"f83a70e2-efee-4bba-a64e-1eef54f47478\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "bc60f7570392901235434f601d724026a4e4c3b1", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/branch/master/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2125-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":800,\"canvasHeight\":500,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "bc60f7570392901235434f601d724026a4e4c3b1", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/branch/master/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2126-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"\u003Cp\u003EDrag following items:\u003C/p\u003E\",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "a309b989c0cff0915fe71fcdf16dd116a6231c9b", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2127-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-manifests/precipitating-change-v3.json b/src/public/offline-manifests/precipitating-change-v3.json new file mode 100644 index 00000000..ceaa441c --- /dev/null +++ b/src/public/offline-manifests/precipitating-change-v3.json @@ -0,0 +1,324 @@ +{ + "name": "Alaska 2021 - Precipitating Change", + "activities": [ + { + "name": "Interview - Predicting the Weather Without the Weather Channel", + "contentUrl": "offline-activities/precipitating-change-v2/interview.json", + "resourceUrl": "https://authoring.concord.org/activities/11559" + }, + { + "name": "Lesson 1: Making an Initial Prediction", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-1.json", + "resourceUrl": "https://authoring.concord.org/activities/11501" + }, + { + "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-1-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11630" + }, + { + "name": "Lesson 2: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-2-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11565" + }, + { + "name": "Lesson 2: Displaying Temperature Data ", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-2.json", + "resourceUrl": "https://authoring.concord.org/activities/11526" + }, + { + "name": "Lesson 2: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-2-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11581" + }, + { + "name": " Lesson 3: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-3-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11583" + }, + { + "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-3.json", + "resourceUrl": "https://authoring.concord.org/activities/11582" + }, + { + "name": " Lesson 3: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-3-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11584" + }, + { + "name": "Lesson 4: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-4-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11586" + }, + { + "name": "Lesson 4: Building Rules", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-4.json", + "resourceUrl": "https://authoring.concord.org/activities/11585" + }, + { + "name": "Lesson 4: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-4-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11587" + }, + { + "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-5-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11593" + }, + { + "name": "Lesson 5: Identifying Air Masses", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-5.json", + "resourceUrl": "https://authoring.concord.org/activities/11588" + }, + { + "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-5-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11595" + }, + { + "name": "Lesson 6: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-6-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11590" + }, + { + "name": "Lesson 6: Modeling Fronts", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-6.json", + "resourceUrl": "https://authoring.concord.org/activities/11589" + }, + { + "name": "Lesson 6: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-6-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11591" + }, + { + "name": "Lesson 7: Analyzing Data and Making a Prediction", + "contentUrl": "offline-activities/precipitating-change-v2/lesson-7.json", + "resourceUrl": "https://authoring.concord.org/activities/11592" + } + ], + "cacheList": [ + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska-Pilot-Final-low-res.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/ConcordAlaska7Final-low.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson6WhereistheFrontGoing.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20Virtual%20Storm%20Student%20Guide.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/alaska-pilot-final.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/air_moisture_fog-high.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/pattern-recognition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/precipitation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/weather.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/wind-direction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/exptrapolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/extrapolation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Diggiynetritiy_He_broke_it.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Atthabaskan/Vitotuq_between_middle.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/How_is_the_weather_Ngieghndadzdixeta.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/I_am_going_to_use_this_patttern_Gon%20ghoghoy_yigidighoy_axa_ditast%27e%C5%82.%20.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It%27s%20snowing_Iyoth.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It_snows_during_the_winter_Xiyhtuxiyoth.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Pattern_Ghoghoyyigidighoy.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_South_wind_is_starting_to_blow_Edodzxandithitriyh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_fog_is_thick_Getiyeqngichox.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/There_is_too_much_fog_Getiyeqxelanh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_Is_it_doing_outside_Ngieghndadzdixeta16.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_is_next_Ndadzchenh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Wind_is_coming_from_the_west_Dongthedzxidetriyh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/between_middle_Vitotuq.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/middle_Xivitotuq.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/L7instructionsscale.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/weather_forecasting_tools.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AK-3-maps-interpolation.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKABCinterpolationtemp.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKlinearinterpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKweightedneigborinterpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/AbstractionMovie.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/Aggregation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/PatternRecognition.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/WindDirection.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/moisture-amount.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/precipitation_snow.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/weather-movie.mp4", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_555555_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_ffffff_256x240.png", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson6_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", + "https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png", + "https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/Temp-Moisture-Key.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", + "models-resources/glossary-plugin/version/v3.12.0/manifest.json", + "models-resources/glossary-plugin/version/v3.12.0/plugin.js", + "models-resources/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json", + "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/precip-models/ak-w-cities.png", + "models-resources/precip-models/lesson-4-ak-v3.html", + "models-resources/precip-models/precip-rule-ak-v5.html", + "models-resources/question-interactives/branch/master/drag-and-drop/", + "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.css", + "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.js", + "models-resources/question-interactives/version/v0.6.1/image/", + "models-resources/question-interactives/version/v0.6.1/image/assets/index.c97f7781f4e83340e0f4.css", + "models-resources/question-interactives/version/v0.6.1/image/assets/index.c97f7781f4e83340e0f4.js", + "models-resources/question-interactives/version/v1.1.0/carousel/", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/image/", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/open-response/", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/video-player/", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" + ] +} From 9bfc37fd0792f838e728673232cf106c70dc446d Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 30 Mar 2021 22:34:36 -0400 Subject: [PATCH 184/242] update the glossary and activity references this also adds the glossary to the lesson-1-post. That was the only activity that didn't have a glossary. --- .../precipitating-change-v3/interview.json | 6 +-- .../lesson-1-post.json | 16 +++++++- .../precipitating-change-v3/lesson-1.json | 6 +-- .../lesson-2-post.json | 6 +-- .../precipitating-change-v3/lesson-2-pre.json | 6 +-- .../precipitating-change-v3/lesson-2.json | 6 +-- .../lesson-3-post.json | 6 +-- .../precipitating-change-v3/lesson-3-pre.json | 6 +-- .../precipitating-change-v3/lesson-3.json | 6 +-- .../lesson-4-post.json | 6 +-- .../precipitating-change-v3/lesson-4-pre.json | 6 +-- .../precipitating-change-v3/lesson-4.json | 6 +-- .../lesson-5-post.json | 6 +-- .../precipitating-change-v3/lesson-5-pre.json | 6 +-- .../precipitating-change-v3/lesson-5.json | 6 +-- .../lesson-6-post.json | 6 +-- .../precipitating-change-v3/lesson-6-pre.json | 6 +-- .../precipitating-change-v3/lesson-6.json | 6 +-- .../precipitating-change-v3/lesson-7.json | 6 +-- .../precipitating-change-v3.json | 38 +++++++++---------- 20 files changed, 88 insertions(+), 74 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v3/interview.json b/src/public/offline-activities/precipitating-change-v3/interview.json index 658cda58..41b69d3d 100644 --- a/src/public/offline-activities/precipitating-change-v3/interview.json +++ b/src/public/offline-activities/precipitating-change-v3/interview.json @@ -411,16 +411,16 @@ }], "plugins": [{ "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-1-post.json index a1b378cf..b57e31f8 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-1-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-1-post.json @@ -209,7 +209,21 @@ "toggle_info_assessment": false, "embeddables": [] }], - "plugins": [], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" } diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-1.json b/src/public/offline-activities/precipitating-change-v3/lesson-1.json index a6f95610..3f52ca31 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-1.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-1.json @@ -1115,16 +1115,16 @@ }], "plugins": [{ "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-2-post.json index bae29581..c7015f71 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-2-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-2-post.json @@ -267,16 +267,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json index 81035d62..8376c965 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json @@ -267,16 +267,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-2.json b/src/public/offline-activities/precipitating-change-v3/lesson-2.json index acd488a7..2eeb295a 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-2.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-2.json @@ -2834,16 +2834,16 @@ }], "plugins": [{ "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-3-post.json index 38ec1be9..6afcf425 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-3-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-3-post.json @@ -230,16 +230,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json index d446650a..5110b030 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json @@ -230,16 +230,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-3.json b/src/public/offline-activities/precipitating-change-v3/lesson-3.json index 82e82222..e73129bb 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-3.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-3.json @@ -1146,16 +1146,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-4-post.json index f30b308c..996cffa2 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-4-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-4-post.json @@ -230,16 +230,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json index 42509f1e..d50719b0 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json @@ -230,16 +230,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-4.json b/src/public/offline-activities/precipitating-change-v3/lesson-4.json index fcc1b7f6..0a33f97b 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-4.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-4.json @@ -843,16 +843,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-5-post.json index a96cb3e0..e1db645c 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-5-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-5-post.json @@ -267,16 +267,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json index 66d73883..ee2be117 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json @@ -267,16 +267,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-5.json b/src/public/offline-activities/precipitating-change-v3/lesson-5.json index b9fa3feb..48f912e8 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-5.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-5.json @@ -1146,16 +1146,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-6-post.json index b17f5c67..2f38c09c 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-6-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-6-post.json @@ -230,16 +230,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json index 4288aee4..ae1a5a08 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json @@ -230,16 +230,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-6.json b/src/public/offline-activities/precipitating-change-v3/lesson-6.json index c7cf1982..0abb7f20 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-6.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-6.json @@ -528,16 +528,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-7.json b/src/public/offline-activities/precipitating-change-v3/lesson-7.json index 75380722..e05c42aa 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-7.json @@ -966,16 +966,16 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.concord.org/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.12.0/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.12.0/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } }], diff --git a/src/public/offline-manifests/precipitating-change-v3.json b/src/public/offline-manifests/precipitating-change-v3.json index ceaa441c..8ee3fef7 100644 --- a/src/public/offline-manifests/precipitating-change-v3.json +++ b/src/public/offline-manifests/precipitating-change-v3.json @@ -3,97 +3,97 @@ "activities": [ { "name": "Interview - Predicting the Weather Without the Weather Channel", - "contentUrl": "offline-activities/precipitating-change-v2/interview.json", + "contentUrl": "offline-activities/precipitating-change-v3/interview.json", "resourceUrl": "https://authoring.concord.org/activities/11559" }, { "name": "Lesson 1: Making an Initial Prediction", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-1.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-1.json", "resourceUrl": "https://authoring.concord.org/activities/11501" }, { "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-1-post.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-1-post.json", "resourceUrl": "https://authoring.concord.org/activities/11630" }, { "name": "Lesson 2: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-2-pre.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-2-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11565" }, { "name": "Lesson 2: Displaying Temperature Data ", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-2.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-2.json", "resourceUrl": "https://authoring.concord.org/activities/11526" }, { "name": "Lesson 2: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-2-post.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-2-post.json", "resourceUrl": "https://authoring.concord.org/activities/11581" }, { "name": " Lesson 3: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-3-pre.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-3-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11583" }, { "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-3.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-3.json", "resourceUrl": "https://authoring.concord.org/activities/11582" }, { "name": " Lesson 3: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-3-post.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-3-post.json", "resourceUrl": "https://authoring.concord.org/activities/11584" }, { "name": "Lesson 4: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-4-pre.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-4-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11586" }, { "name": "Lesson 4: Building Rules", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-4.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-4.json", "resourceUrl": "https://authoring.concord.org/activities/11585" }, { "name": "Lesson 4: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-4-post.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-4-post.json", "resourceUrl": "https://authoring.concord.org/activities/11587" }, { "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-5-pre.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-5-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11593" }, { "name": "Lesson 5: Identifying Air Masses", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-5.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-5.json", "resourceUrl": "https://authoring.concord.org/activities/11588" }, { "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-5-post.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-5-post.json", "resourceUrl": "https://authoring.concord.org/activities/11595" }, { "name": "Lesson 6: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-6-pre.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-6-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11590" }, { "name": "Lesson 6: Modeling Fronts", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-6.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-6.json", "resourceUrl": "https://authoring.concord.org/activities/11589" }, { "name": "Lesson 6: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-6-post.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-6-post.json", "resourceUrl": "https://authoring.concord.org/activities/11591" }, { "name": "Lesson 7: Analyzing Data and Making a Prediction", - "contentUrl": "offline-activities/precipitating-change-v2/lesson-7.json", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-7.json", "resourceUrl": "https://authoring.concord.org/activities/11592" } ], From 6ffadad96668198342228e312520f472640aa9e0 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 30 Mar 2021 23:06:06 -0400 Subject: [PATCH 185/242] switch to the updated carousel version --- .../offline-activities/precipitating-change-v3/lesson-1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-1.json b/src/public/offline-activities/precipitating-change-v3/lesson-1.json index 3f52ca31..efa5f896 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-1.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-1.json @@ -693,7 +693,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/carousel/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/carousel/", "click_to_play": false, "click_to_play_prompt": null, "description": "", From a62c25369249d39f1c4e92ccc572fff2532146f5 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 30 Mar 2021 23:34:03 -0400 Subject: [PATCH 186/242] update carousel in manifest, update glossary version --- .../precipitating-change-v3.json | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/public/offline-manifests/precipitating-change-v3.json b/src/public/offline-manifests/precipitating-change-v3.json index 8ee3fef7..66a0197c 100644 --- a/src/public/offline-manifests/precipitating-change-v3.json +++ b/src/public/offline-manifests/precipitating-change-v3.json @@ -284,9 +284,9 @@ "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", - "models-resources/glossary-plugin/version/v3.12.0/manifest.json", - "models-resources/glossary-plugin/version/v3.12.0/plugin.js", - "models-resources/glossary-resources/upZ83jqTZAZuoQqRAfAb/glossary.json", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", + "models-resources/glossary-resources/custom-apo/alaska-v1.json", "models-resources/precip-models/ak-base-map-with-rose.png", "models-resources/precip-models/ak-w-cities.png", "models-resources/precip-models/lesson-4-ak-v3.html", @@ -294,9 +294,6 @@ "models-resources/question-interactives/branch/master/drag-and-drop/", "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.css", "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.js", - "models-resources/question-interactives/version/v0.6.1/image/", - "models-resources/question-interactives/version/v0.6.1/image/assets/index.c97f7781f4e83340e0f4.css", - "models-resources/question-interactives/version/v0.6.1/image/assets/index.c97f7781f4e83340e0f4.js", "models-resources/question-interactives/version/v1.1.0/carousel/", "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.css", "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.js", @@ -318,6 +315,12 @@ "models-resources/question-interactives/version/v1.1.0/video-player/", "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.css", "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.js", "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" ] From 43fa4d002dd48af89055be71d23ab3b664c6d3e3 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 30 Mar 2021 23:39:26 -0400 Subject: [PATCH 187/242] switch drag and drop from master to version 1.1.0 --- .../precipitating-change-v3/lesson-7.json | 4 ++-- src/public/offline-manifests/precipitating-change-v3.json | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-7.json b/src/public/offline-activities/precipitating-change-v3/lesson-7.json index e05c42aa..d39077a8 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-7.json @@ -822,7 +822,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/branch/master/drag-and-drop/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", "click_to_play": false, "click_to_play_prompt": null, "description": "This shouldn't be used by any real activities it is still under development.", @@ -872,7 +872,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/branch/master/drag-and-drop/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", "click_to_play": false, "click_to_play_prompt": null, "description": "This shouldn't be used by any real activities it is still under development.", diff --git a/src/public/offline-manifests/precipitating-change-v3.json b/src/public/offline-manifests/precipitating-change-v3.json index 66a0197c..07930a66 100644 --- a/src/public/offline-manifests/precipitating-change-v3.json +++ b/src/public/offline-manifests/precipitating-change-v3.json @@ -291,9 +291,9 @@ "models-resources/precip-models/ak-w-cities.png", "models-resources/precip-models/lesson-4-ak-v3.html", "models-resources/precip-models/precip-rule-ak-v5.html", - "models-resources/question-interactives/branch/master/drag-and-drop/", - "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.css", - "models-resources/question-interactives/branch/master/drag-and-drop/assets/index.ef6640fdbaa59e7d870c.js", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.js", "models-resources/question-interactives/version/v1.1.0/carousel/", "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.css", "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.js", From fd1ac2a69cdb33bc02f534d3849ac2433852665a Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 31 Mar 2021 05:42:48 -0400 Subject: [PATCH 188/242] Added check for __noUrlRewrite parameter when rewriting urls --- src/utilities/activity-utils.test.ts | 23 ++++++++++++++++++++++- src/utilities/activity-utils.ts | 5 +++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/utilities/activity-utils.test.ts b/src/utilities/activity-utils.test.ts index 0ca4e136..4854f951 100644 --- a/src/utilities/activity-utils.test.ts +++ b/src/utilities/activity-utils.test.ts @@ -2,7 +2,7 @@ import fetch from "jest-fetch-mock"; import { Activity } from "../types"; import { isQuestion, isEmbeddableSectionHidden, getVisibleEmbeddablesOnPage, VisibleEmbeddables, - EmbeddableSections, getPageSectionQuestionCount, numQuestionsOnPreviousPages, enableReportButton, getPagePositionFromQueryValue, isNotSampleActivityUrl, orderedQuestionsOnPage, isExternalOrModelsResourcesUrl, getAllUrlsInActivity, removeDuplicateUrls } from "./activity-utils"; + EmbeddableSections, getPageSectionQuestionCount, numQuestionsOnPreviousPages, enableReportButton, getPagePositionFromQueryValue, isNotSampleActivityUrl, orderedQuestionsOnPage, isExternalOrModelsResourcesUrl, getAllUrlsInActivity, removeDuplicateUrls, rewriteModelsResourcesUrl } from "./activity-utils"; import _activityHidden from "../data/sample-activity-hidden-content.json"; import _activity from "../data/sample-activity-multiple-layout-types.json"; import _glossaryActivity from "../data/sample-activity-glossary-plugin.json"; @@ -187,4 +187,25 @@ describe("Activity utility functions", () => { "https://token-service-files.s3.amazonaws.com/glossary-plugin/ISnn8j8r2veEFjPCx3XH/5d298f20-1c44-11ea-90e3-39c0ba8d079c-IMG_8603.jpeg" ]); }); + + it("rewrites some domains to models-resources with trailing slash", () => { + const protocols = ["http", "https"]; + const rewriteMap: Record = { + "models-resources.concord.org/foo": "models-resources/foo/", + "models-resources.s3.amazonaws.com/foo": "models-resources/foo/", + "test-plugin.concord.org/foo": "models-resources/test-plugin/foo/", + "non-rewritten-domain.com/foo": "__PROTOCOL__://non-rewritten-domain.com/foo/" + }; + protocols.forEach(protocol => { + Object.keys(rewriteMap).forEach(domainAndPath => { + const url = `${protocol}://${domainAndPath}`; + const rewriteUrl = rewriteMap[domainAndPath].replace("__PROTOCOL__", protocol); + const noRewriteUrl = `${url}?__noUrlRewrite`.replace("__PROTOCOL__", protocol); + + expect(rewriteModelsResourcesUrl(url)).toBe(rewriteUrl); + expect(rewriteModelsResourcesUrl(`${url}/`)).toBe(rewriteUrl); + expect(rewriteModelsResourcesUrl(noRewriteUrl)).toBe(noRewriteUrl); + }); + }); + }); }); diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index 3932db4f..aad77683 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -213,8 +213,9 @@ export const walkObject = (activityNode: any, stringCallback: (s: string, key?: }; export const rewriteModelsResourcesUrl = (oldUrl: string) => { - const httpRegex =/https?:\/\//; - if(httpRegex.test(oldUrl)) { + const httpRegex = /https?:\/\//; + const noRewriteRegex = /__noUrlRewrite/; + if (httpRegex.test(oldUrl) && !noRewriteRegex.test(oldUrl)) { const serverRewrite = oldUrl .replace(/https?:\/\/models-resources\.concord\.org/, "models-resources") .replace(/https?:\/\/models-resources\.s3\.amazonaws\.com/, "models-resources") From 669d78afb0a7fc36babffe3d3f1bc7a79465b68c Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 30 Mar 2021 09:13:43 -0400 Subject: [PATCH 189/242] WIP: Changed local storage to include resourceUrl when saving plugin states TODO: this requires the primary key of the plugin states table to be changed which means either a migration needs to be added or the db name needs to be changed. --- src/components/app.tsx | 4 +- src/lara-plugin/plugins/plugin-context.ts | 2 +- src/storage/dexie-storage.ts | 3 +- src/storage/storage-facade.ts | 47 ++++++++++++----------- src/utilities/plugin-utils.ts | 9 +++-- 5 files changed, 34 insertions(+), 31 deletions(-) diff --git a/src/components/app.tsx b/src/components/app.tsx index d5fceaa8..5c1177d9 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -378,8 +378,8 @@ export class App extends React.PureComponent { this.setState(newState as IState); this.LARA = initializeLara(); - if (activity) { - loadLearnerPluginState(activity, teacherEditionMode).then(() => { + if (activity && resourceUrl) { + loadLearnerPluginState(activity, resourceUrl, teacherEditionMode).then(() => { if (activity) { loadPluginScripts(this.LARA, activity, this.handleLoadPlugins, teacherEditionMode); } diff --git a/src/lara-plugin/plugins/plugin-context.ts b/src/lara-plugin/plugins/plugin-context.ts index b3593c5d..db91af2a 100644 --- a/src/lara-plugin/plugins/plugin-context.ts +++ b/src/lara-plugin/plugins/plugin-context.ts @@ -209,7 +209,7 @@ export const generateRuntimePluginContext = (options: IPluginRuntimeContextOptio remoteEndpoint: options.remoteEndpoint, userEmail: options.userEmail, resourceUrl: options.resourceUrl, - saveLearnerPluginState: (state: string) => storage.setLearnerPluginState(options.pluginId, state), + saveLearnerPluginState: (state: string) => storage.setLearnerPluginState(options.pluginId, options.resourceUrl, state), getClassInfo: () => getClassInfo(options.classInfoUrl), getFirebaseJwt: (appName: string) => getFirebaseJwtFromPortal(appName), wrappedEmbeddable: options.wrappedEmbeddable ? generateEmbeddableRuntimeContext(options.wrappedEmbeddable) : null, diff --git a/src/storage/dexie-storage.ts b/src/storage/dexie-storage.ts index df0bba54..60e6d4a9 100644 --- a/src/storage/dexie-storage.ts +++ b/src/storage/dexie-storage.ts @@ -7,6 +7,7 @@ import { IIndexedDBAnswer } from "./storage-facade"; export const kOfflineAnswerSchemaVersion = 6; export interface IDexiePluginRecord { pluginId: number, + resourceUrl: string, state: string|null } @@ -27,7 +28,7 @@ export class DexieStorage extends Dexie { this.version(kOfflineAnswerSchemaVersion).stores({ logs: "++id, activity", answers: "id, resource_url, [resource_url+question_id]", - pluginStates: "&pluginId", + pluginStates: "[resource+pluginId]", offlineActivities: "&resourceUrl" // unique by resourceUrl }); } diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 057de95d..230e6942 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -45,12 +45,15 @@ let _currentOfflineResourceUrl = "/testactivity.json"; // TODO: change to watch the learner state so that it works across sessions and // not just on the same page -const cachedLearnerPluginState: Record = {}; -export const getCachedLearnerPluginState = (pluginId: number) => cachedLearnerPluginState[pluginId] || null; +const cachedLearnerPluginState: Record = {}; -export const setCachedLearnerPluginState = (pluginId: number, value: string|null) => cachedLearnerPluginState[pluginId]=value; +export const getCachedLearnerPluginStateKey = (pluginId: number, resourceUrl: string) => `${resourceUrl}_${pluginId}`; -const localStoragePluginStateKey = (id: number) => `ActivityPlayerPluginState-plugin-${id}`; +export const getCachedLearnerPluginState = (pluginId: number, resourceUrl: string) => + cachedLearnerPluginState[getCachedLearnerPluginStateKey(pluginId, resourceUrl)] || null; + +export const setCachedLearnerPluginState = (pluginId: number, resourceUrl: string, value: string|null) => + cachedLearnerPluginState[getCachedLearnerPluginStateKey(pluginId, resourceUrl)] = value; export const docToWrappedAnswer = (doc: firebase.firestore.DocumentData) => { const getInteractiveState = () => { @@ -101,8 +104,8 @@ export interface IStorageInterface { watchAnswer(embeddableRefId: string, callback: (wrappedAnswer: IWrappedDBAnswer | null) => void): () => void watchAllAnswers: (callback: (wrappedAnswer: IWrappedDBAnswer[]) => void) => void, createOrUpdateAnswer: (answer: IExportableAnswerMetadata) => void, - getLearnerPluginState: (pluginId: number) => Promise, - setLearnerPluginState: (pluginId: number, state: string) => Promise, + getLearnerPluginState: (pluginId: number, resourceUrl: string) => Promise, + setLearnerPluginState: (pluginId: number, resourceUrl: string, state: string) => Promise, // for saving a whole activity to JSON exportActivityToJSON: (activityId?: string) => Promise, @@ -166,18 +169,18 @@ class FireStoreStorageProvider implements IStorageInterface { return FirebaseImp.createOrUpdateAnswer(answer); } - async getLearnerPluginState(pluginId: number) { - if (getCachedLearnerPluginState(pluginId)) { - return getCachedLearnerPluginState(pluginId); + async getLearnerPluginState(pluginId: number, resourceUrl: string) { + if (getCachedLearnerPluginState(pluginId, resourceUrl)) { + return getCachedLearnerPluginState(pluginId, resourceUrl); } const state = await FirebaseImp.getLearnerPluginState(pluginId); - setCachedLearnerPluginState(pluginId,state); + setCachedLearnerPluginState(pluginId, resourceUrl, state); return state; } - async setLearnerPluginState(pluginId: number, state: string){ + async setLearnerPluginState(pluginId: number, resourceUrl: string, state: string){ FirebaseImp.setLearnerPluginState(pluginId, state); - setCachedLearnerPluginState(pluginId, state); + setCachedLearnerPluginState(pluginId, resourceUrl, state); return state; } @@ -380,21 +383,19 @@ class DexieStorageProvider implements IStorageInterface { } } - async getLearnerPluginState(pluginId: number) { - if (getCachedLearnerPluginState(pluginId)) { - return getCachedLearnerPluginState(pluginId); + async getLearnerPluginState(pluginId: number, resourceUrl: string) { + if (getCachedLearnerPluginState(pluginId, resourceUrl)) { + return getCachedLearnerPluginState(pluginId, resourceUrl); } - const record = await dexieStorage.pluginStates.get({pluginId}); + const record = await dexieStorage.pluginStates.get({pluginId, resourceUrl}); const state = record?.state || null; - setCachedLearnerPluginState(pluginId, state); + setCachedLearnerPluginState(pluginId, resourceUrl, state); return state; } - async setLearnerPluginState(pluginId: number, state: string){ - const key = localStoragePluginStateKey(pluginId); - localStorage.setItem(key,state); - dexieStorage.pluginStates.put({pluginId, state}); - setCachedLearnerPluginState(pluginId, state); + async setLearnerPluginState(pluginId: number, resourceUrl: string, state: string){ + dexieStorage.pluginStates.put({pluginId, resourceUrl, state}); + setCachedLearnerPluginState(pluginId, resourceUrl, state); return state; } @@ -469,7 +470,7 @@ class DexieStorageProvider implements IStorageInterface { const {pluginId, state} = pState; if(state) { // TODO: Look into FireStore Batch operations - fsProvider.setLearnerPluginState(pluginId, state); + fsProvider.setLearnerPluginState(pluginId, portalResourceUrl, state); } } return this.fakeWaitingPromise(); diff --git a/src/utilities/plugin-utils.ts b/src/utilities/plugin-utils.ts index 1cb13631..60b3b7f5 100644 --- a/src/utilities/plugin-utils.ts +++ b/src/utilities/plugin-utils.ts @@ -96,10 +96,10 @@ export const validateEmbeddablePluginContextForWrappedEmbeddable = }; // loads the learner plugin state into the firebase write-through cache -export const loadLearnerPluginState = async (activity: Activity, teacherEditionMode: boolean) => { +export const loadLearnerPluginState = async (activity: Activity, resourceUrl: string, teacherEditionMode: boolean) => { const plugins = findUsedPlugins(activity, teacherEditionMode); const storage = getStorage(); - await Promise.all(plugins.map(async (plugin) => await storage.getLearnerPluginState(plugin.id))); + await Promise.all(plugins.map(async (plugin) => await storage.getLearnerPluginState(plugin.id, resourceUrl))); }; export const initializePlugin = (context: IEmbeddablePluginContext, offlineMode: boolean) => { @@ -122,6 +122,7 @@ export const initializePlugin = (context: IEmbeddablePluginContext, offlineMode: const storage = getStorage(); const portalData = storage.getPortalData(); const pluginLabel = `plugin${pluginId}`; + const resourceUrl = getResourceUrl(); const pluginContext: IPluginRuntimeContextOptions = { type: "runtime", name: usedPlugin?.plugin.approved_script.name || "", @@ -129,7 +130,7 @@ export const initializePlugin = (context: IEmbeddablePluginContext, offlineMode: pluginId, embeddablePluginId: null, authoredState: embeddable.plugin?.author_data || null, - learnerState: getCachedLearnerPluginState(pluginId), + learnerState: getCachedLearnerPluginState(pluginId, resourceUrl), learnerStateSaveUrl: "", container: embeddableContainer, componentLabel: pluginLabel, @@ -139,7 +140,7 @@ export const initializePlugin = (context: IEmbeddablePluginContext, offlineMode: classInfoUrl: null, firebaseJwtUrl: "", wrappedEmbeddable: wrappedEmbeddable ? embeddableContextAny : null, - resourceUrl: getResourceUrl(), + resourceUrl, offlineMode }; LARA.Plugins.initPlugin(pluginLabel, pluginContext); From 135f30da45b5a293bdd560472924f326e4a62e6c Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 31 Mar 2021 09:57:40 -0400 Subject: [PATCH 190/242] Renamed dexie pluginStates table to update the primary key and updated queries to use resourceUrl --- src/storage/dexie-storage.ts | 6 +++--- src/storage/storage-facade.ts | 16 ++++++++++------ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/storage/dexie-storage.ts b/src/storage/dexie-storage.ts index 60e6d4a9..fa95bd00 100644 --- a/src/storage/dexie-storage.ts +++ b/src/storage/dexie-storage.ts @@ -4,7 +4,7 @@ import { IIndexedDBAnswer } from "./storage-facade"; // We need to ensure a version match between data stored and exported // version 5: switched from activity to resource_url field for identifying answer's activity -export const kOfflineAnswerSchemaVersion = 6; +export const kOfflineAnswerSchemaVersion = 7; export interface IDexiePluginRecord { pluginId: number, resourceUrl: string, @@ -18,7 +18,7 @@ export class DexieStorage extends Dexie { logs: Dexie.Table; offlineActivities: Dexie.Table; answers: Dexie.Table; // number = type of the primary key - pluginStates: Dexie.Table; + savedPluginStates: Dexie.Table; constructor () { // the database was called ActivityPlayer, but changes to the offlineActivities @@ -28,7 +28,7 @@ export class DexieStorage extends Dexie { this.version(kOfflineAnswerSchemaVersion).stores({ logs: "++id, activity", answers: "id, resource_url, [resource_url+question_id]", - pluginStates: "[resource+pluginId]", + savedPluginStates: "[resourceUrl+pluginId]", offlineActivities: "&resourceUrl" // unique by resourceUrl }); } diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 230e6942..85d88e82 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -313,7 +313,10 @@ class DexieStorageProvider implements IStorageInterface { .where({resource_url: _currentOfflineResourceUrl}) .toArray(); - const getAllPluginStates = () => dexieStorage.pluginStates.toArray(); + const getAllPluginStates = () => dexieStorage + .savedPluginStates + .where({resourceUrl: _currentOfflineResourceUrl}) + .toArray(); const exportableActivity: ExportableActivity = { resource_url: currentActivityId, @@ -387,14 +390,14 @@ class DexieStorageProvider implements IStorageInterface { if (getCachedLearnerPluginState(pluginId, resourceUrl)) { return getCachedLearnerPluginState(pluginId, resourceUrl); } - const record = await dexieStorage.pluginStates.get({pluginId, resourceUrl}); + const record = await dexieStorage.savedPluginStates.get({pluginId, resourceUrl}); const state = record?.state || null; setCachedLearnerPluginState(pluginId, resourceUrl, state); return state; } async setLearnerPluginState(pluginId: number, resourceUrl: string, state: string){ - dexieStorage.pluginStates.put({pluginId, resourceUrl, state}); + dexieStorage.savedPluginStates.put({pluginId, resourceUrl, state}); setCachedLearnerPluginState(pluginId, resourceUrl, state); return state; } @@ -463,10 +466,11 @@ class DexieStorageProvider implements IStorageInterface { const learnerPluginStateSavingPromise = this.ensureFirebaseConnection() .then((fsProvider) => { dexieStorage - .pluginStates + .savedPluginStates + .where({resourceUrl: portalResourceUrl}) .toArray() - .then((pluginStates) => { - for(const pState of pluginStates) { + .then((savedPluginStates) => { + for(const pState of savedPluginStates) { const {pluginId, state} = pState; if(state) { // TODO: Look into FireStore Batch operations From 03d04767c1e3a3f4ca14de135c7fd8e75b69a174 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 31 Mar 2021 11:26:27 -0400 Subject: [PATCH 191/242] Updated plugin state query to use compound index --- src/storage/storage-facade.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 85d88e82..93060b1e 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -5,6 +5,7 @@ import { IExportableAnswerMetadata } from "../types"; import { dexieStorage, IDexiePluginRecord, kOfflineAnswerSchemaVersion } from "./dexie-storage"; import { refIdToAnswersQuestionId } from "../utilities/embeddable-utils"; import { DataSyncTracker } from "./data-sync-tracker"; +import Dexie from "dexie"; export interface IInitStorageParams { name: FirebaseImp.FirebaseAppName, @@ -315,7 +316,9 @@ class DexieStorageProvider implements IStorageInterface { const getAllPluginStates = () => dexieStorage .savedPluginStates - .where({resourceUrl: _currentOfflineResourceUrl}) + .where("[resourceUrl+pluginId]").between( + [_currentOfflineResourceUrl, Dexie.minKey], + [_currentOfflineResourceUrl, Dexie.maxKey]) .toArray(); const exportableActivity: ExportableActivity = { @@ -467,7 +470,9 @@ class DexieStorageProvider implements IStorageInterface { .then((fsProvider) => { dexieStorage .savedPluginStates - .where({resourceUrl: portalResourceUrl}) + .where("[resourceUrl+pluginId]").between( + [portalResourceUrl, Dexie.minKey], + [portalResourceUrl, Dexie.maxKey]) .toArray() .then((savedPluginStates) => { for(const pState of savedPluginStates) { From a821d36ae735b61dcac5e7d3b11ebc5325be236e Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 31 Mar 2021 11:59:17 -0400 Subject: [PATCH 192/242] Updated savedPluginStates Dexie primary key type to string --- src/storage/dexie-storage.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/storage/dexie-storage.ts b/src/storage/dexie-storage.ts index fa95bd00..746d5e09 100644 --- a/src/storage/dexie-storage.ts +++ b/src/storage/dexie-storage.ts @@ -18,7 +18,7 @@ export class DexieStorage extends Dexie { logs: Dexie.Table; offlineActivities: Dexie.Table; answers: Dexie.Table; // number = type of the primary key - savedPluginStates: Dexie.Table; + savedPluginStates: Dexie.Table; constructor () { // the database was called ActivityPlayer, but changes to the offlineActivities From 4429e92b5dd5d408f3b0d8ba639aa312af0f312c Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Wed, 31 Mar 2021 12:19:14 -0400 Subject: [PATCH 193/242] Added no url rewrite flag to glossary urls in glossary test activity and v3 PC activities --- src/public/offline-activities/glossary-test-v1.json | 2 +- .../offline-activities/precipitating-change-v3/interview.json | 2 +- .../precipitating-change-v3/lesson-1-post.json | 2 +- .../offline-activities/precipitating-change-v3/lesson-1.json | 2 +- .../precipitating-change-v3/lesson-2-post.json | 2 +- .../precipitating-change-v3/lesson-2-pre.json | 2 +- .../offline-activities/precipitating-change-v3/lesson-2.json | 2 +- .../precipitating-change-v3/lesson-3-post.json | 2 +- .../precipitating-change-v3/lesson-3-pre.json | 2 +- .../offline-activities/precipitating-change-v3/lesson-3.json | 2 +- .../precipitating-change-v3/lesson-4-post.json | 2 +- .../precipitating-change-v3/lesson-4-pre.json | 2 +- .../offline-activities/precipitating-change-v3/lesson-4.json | 2 +- .../precipitating-change-v3/lesson-5-post.json | 2 +- .../precipitating-change-v3/lesson-5-pre.json | 2 +- .../offline-activities/precipitating-change-v3/lesson-5.json | 2 +- .../precipitating-change-v3/lesson-6-post.json | 2 +- .../precipitating-change-v3/lesson-6-pre.json | 2 +- .../offline-activities/precipitating-change-v3/lesson-6.json | 2 +- .../offline-activities/precipitating-change-v3/lesson-7.json | 2 +- src/public/offline-manifests/glossary-test-v1.json | 2 +- src/public/offline-manifests/precipitating-change-v3.json | 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/public/offline-activities/glossary-test-v1.json b/src/public/offline-activities/glossary-test-v1.json index 719ba59e..9729f945 100644 --- a/src/public/offline-activities/glossary-test-v1.json +++ b/src/public/offline-activities/glossary-test-v1.json @@ -66,7 +66,7 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/interview.json b/src/public/offline-activities/precipitating-change-v3/interview.json index 41b69d3d..b8d0f978 100644 --- a/src/public/offline-activities/precipitating-change-v3/interview.json +++ b/src/public/offline-activities/precipitating-change-v3/interview.json @@ -411,7 +411,7 @@ }], "plugins": [{ "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-1-post.json index b57e31f8..348e648c 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-1-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-1-post.json @@ -211,7 +211,7 @@ }], "plugins": [{ "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-1.json b/src/public/offline-activities/precipitating-change-v3/lesson-1.json index efa5f896..88ec615b 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-1.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-1.json @@ -1115,7 +1115,7 @@ }], "plugins": [{ "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-2-post.json index c7015f71..44c971aa 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-2-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-2-post.json @@ -267,7 +267,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json index 8376c965..5a0aa7a9 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-2-pre.json @@ -267,7 +267,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-2.json b/src/public/offline-activities/precipitating-change-v3/lesson-2.json index 2eeb295a..c650371b 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-2.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-2.json @@ -2834,7 +2834,7 @@ }], "plugins": [{ "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-3-post.json index 6afcf425..76eae46a 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-3-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-3-post.json @@ -230,7 +230,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json index 5110b030..ae3cba7b 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-3-pre.json @@ -230,7 +230,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-3.json b/src/public/offline-activities/precipitating-change-v3/lesson-3.json index e73129bb..c484fd85 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-3.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-3.json @@ -1146,7 +1146,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-4-post.json index 996cffa2..faf4e219 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-4-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-4-post.json @@ -230,7 +230,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json index d50719b0..3d028c63 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-4-pre.json @@ -230,7 +230,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-4.json b/src/public/offline-activities/precipitating-change-v3/lesson-4.json index 0a33f97b..39d454e0 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-4.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-4.json @@ -843,7 +843,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-5-post.json index e1db645c..6f90a926 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-5-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-5-post.json @@ -267,7 +267,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json index ee2be117..1ca9f508 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-5-pre.json @@ -267,7 +267,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-5.json b/src/public/offline-activities/precipitating-change-v3/lesson-5.json index 48f912e8..25d504a3 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-5.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-5.json @@ -1146,7 +1146,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v3/lesson-6-post.json index 2f38c09c..0c6e5d88 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-6-post.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-6-post.json @@ -230,7 +230,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json index ae1a5a08..0c78df5a 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-6-pre.json @@ -230,7 +230,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-6.json b/src/public/offline-activities/precipitating-change-v3/lesson-6.json index 0abb7f20..d8deb0af 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-6.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-6.json @@ -528,7 +528,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v3/lesson-7.json b/src/public/offline-activities/precipitating-change-v3/lesson-7.json index d39077a8..61b23181 100644 --- a/src/public/offline-activities/precipitating-change-v3/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v3/lesson-7.json @@ -966,7 +966,7 @@ }], "plugins": [{ "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-manifests/glossary-test-v1.json b/src/public/offline-manifests/glossary-test-v1.json index 99172a48..5a371ecc 100644 --- a/src/public/offline-manifests/glossary-test-v1.json +++ b/src/public/offline-manifests/glossary-test-v1.json @@ -59,7 +59,7 @@ "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ.woff2", "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ.woff2", "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXg.woff2", - "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json", + "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", "models-resources/glossary-plugin/branch/176579659-add-offline-saves/manifest.json", "models-resources/glossary-plugin/branch/176579659-add-offline-saves/plugin.js" ] diff --git a/src/public/offline-manifests/precipitating-change-v3.json b/src/public/offline-manifests/precipitating-change-v3.json index 07930a66..7c862013 100644 --- a/src/public/offline-manifests/precipitating-change-v3.json +++ b/src/public/offline-manifests/precipitating-change-v3.json @@ -261,6 +261,7 @@ "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4", "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4", "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4", @@ -286,7 +287,6 @@ "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", - "models-resources/glossary-resources/custom-apo/alaska-v1.json", "models-resources/precip-models/ak-base-map-with-rose.png", "models-resources/precip-models/ak-w-cities.png", "models-resources/precip-models/lesson-4-ak-v3.html", From 59a435497e8d837b42efc6725f2cf281f4c4bde0 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Wed, 31 Mar 2021 12:36:27 -0400 Subject: [PATCH 194/242] add no-video version of the manifest to help with testing --- .../precipitating-change-v3-no-videos.json | 290 ++++++++++++++++++ 1 file changed, 290 insertions(+) create mode 100644 src/public/offline-manifests/precipitating-change-v3-no-videos.json diff --git a/src/public/offline-manifests/precipitating-change-v3-no-videos.json b/src/public/offline-manifests/precipitating-change-v3-no-videos.json new file mode 100644 index 00000000..0009a37d --- /dev/null +++ b/src/public/offline-manifests/precipitating-change-v3-no-videos.json @@ -0,0 +1,290 @@ +{ + "name": "Alaska 2021 - Precipitating Change", + "activities": [ + { + "name": "Interview - Predicting the Weather Without the Weather Channel", + "contentUrl": "offline-activities/precipitating-change-v3/interview.json", + "resourceUrl": "https://authoring.concord.org/activities/11559" + }, + { + "name": "Lesson 1: Making an Initial Prediction", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-1.json", + "resourceUrl": "https://authoring.concord.org/activities/11501" + }, + { + "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-1-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11630" + }, + { + "name": "Lesson 2: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-2-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11565" + }, + { + "name": "Lesson 2: Displaying Temperature Data ", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-2.json", + "resourceUrl": "https://authoring.concord.org/activities/11526" + }, + { + "name": "Lesson 2: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-2-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11581" + }, + { + "name": " Lesson 3: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-3-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11583" + }, + { + "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-3.json", + "resourceUrl": "https://authoring.concord.org/activities/11582" + }, + { + "name": " Lesson 3: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-3-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11584" + }, + { + "name": "Lesson 4: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-4-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11586" + }, + { + "name": "Lesson 4: Building Rules", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-4.json", + "resourceUrl": "https://authoring.concord.org/activities/11585" + }, + { + "name": "Lesson 4: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-4-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11587" + }, + { + "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-5-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11593" + }, + { + "name": "Lesson 5: Identifying Air Masses", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-5.json", + "resourceUrl": "https://authoring.concord.org/activities/11588" + }, + { + "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-5-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11595" + }, + { + "name": "Lesson 6: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-6-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11590" + }, + { + "name": "Lesson 6: Modeling Fronts", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-6.json", + "resourceUrl": "https://authoring.concord.org/activities/11589" + }, + { + "name": "Lesson 6: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-6-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11591" + }, + { + "name": "Lesson 7: Analyzing Data and Making a Prediction", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-7.json", + "resourceUrl": "https://authoring.concord.org/activities/11592" + } + ], + "cacheList": [ + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/air_moisture_fog-high.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/pattern-recognition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/precipitation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/weather.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/wind-direction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/exptrapolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Diggiynetritiy_He_broke_it.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Atthabaskan/Vitotuq_between_middle.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/How_is_the_weather_Ngieghndadzdixeta.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/I_am_going_to_use_this_patttern_Gon%20ghoghoy_yigidighoy_axa_ditast%27e%C5%82.%20.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It%27s%20snowing_Iyoth.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It_snows_during_the_winter_Xiyhtuxiyoth.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Pattern_Ghoghoyyigidighoy.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_South_wind_is_starting_to_blow_Edodzxandithitriyh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_fog_is_thick_Getiyeqngichox.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/There_is_too_much_fog_Getiyeqxelanh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_Is_it_doing_outside_Ngieghndadzdixeta16.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_is_next_Ndadzchenh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Wind_is_coming_from_the_west_Dongthedzxidetriyh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/between_middle_Vitotuq.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/middle_Xivitotuq.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/L7instructionsscale.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/weather_forecasting_tools.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AK-3-maps-interpolation.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKABCinterpolationtemp.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKlinearinterpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKweightedneigborinterpolation.jpg", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_555555_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_ffffff_256x240.png", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", + "https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png", + "https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/Temp-Moisture-Key.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", + "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/precip-models/ak-w-cities.png", + "models-resources/precip-models/lesson-4-ak-v3.html", + "models-resources/precip-models/precip-rule-ak-v5.html", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/carousel/", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/image/", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/open-response/", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/video-player/", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" + ] +} From 149a80cb5d1565628cd5be9eccc329ece5994c00 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Thu, 1 Apr 2021 13:26:45 -0400 Subject: [PATCH 195/242] fix smoke test activity and manifest I also had to fix the glossary the smoke test was referring too it had a references to the big buck bunny video that didn't support CORS --- src/public/offline-activities/smoke-test-v1.json | 8 ++++---- src/public/offline-manifests/smoke-test-v1.json | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/public/offline-activities/smoke-test-v1.json b/src/public/offline-activities/smoke-test-v1.json index 0411a297..6955bdfa 100644 --- a/src/public/offline-activities/smoke-test-v1.json +++ b/src/public/offline-activities/smoke-test-v1.json @@ -148,7 +148,7 @@ "sources": [ { "format": "video/mp4", - "url": "https://www.radiantmediaplayer.com/media/big-buck-bunny-360p.mp4" + "url": "https://project-resources.concord.org/test-project/Big_Buck_Bunny_360_10s_1MB.mp4" } ], "type": "VideoInteractive", @@ -473,7 +473,7 @@ "enable_learner_state": true, "full_window": false, "has_report_url": false, - "image_url": "https://picsum.photos/200/300", + "image_url": "https://placekitten.com/200/300", "name": "Scaffolded Question (master)", "native_height": 435, "native_width": 576, @@ -570,7 +570,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://www.radiantmediaplayer.com/media/big-buck-bunny-360p.mp4\",\"poster\":\"https://models-resources.s3.amazonaws.com/geniblocks/resources/fablevision/rooms/missioncontrol.jpg\",\"prompt\":\"Some descriptions for my video......\",\"credit\":\"Credits go out to the Academy and my family of course\",\"creditLink\":\"https://concord.org\",\"creditLinkDisplayText\":\"CONCORD HOME\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/test-project/Big_Buck_Bunny_360_10s_1MB.mp4\",\"poster\":\"https://models-resources.s3.amazonaws.com/geniblocks/resources/fablevision/rooms/missioncontrol.jpg\",\"prompt\":\"Some descriptions for my video......\",\"credit\":\"Credits go out to the Academy and my family of course\",\"creditLink\":\"https://concord.org\",\"creditLinkDisplayText\":\"CONCORD HOME\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -994,7 +994,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response\",\"authoredState\":{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Open response prompt

    \",\"hint\":\"

    hint for OR

    \",\"required\":true},\"id\":\"60d92b9d-01e5-424e-9172-f2c18b1c60f0\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank\",\"authoredState\":{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20,\"matchTerm\":\"blank\"}],\"prompt\":\"

    Fill in the [blank-1]

    \",\"required\":true},\"id\":\"18b87d6d-8bfd-48a9-a121-e16b8b7c824c\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice\",\"authoredState\":{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Choice A\",\"correct\":true,\"choiceFeedback\":\"Choice A is right\"},{\"id\":\"2\",\"content\":\"Choice B\",\"correct\":false,\"choiceFeedback\":\"Choice B is wrong\"},{\"id\":\"3\",\"content\":\"Choice C\",\"correct\":false,\"choiceFeedback\":\"Choice C is wrong\"}],\"prompt\":\"

    MC sub question prompt

    \",\"enableCheckAnswer\":true,\"customFeedback\":true,\"required\":true},\"id\":\"5e31a201-ac05-4d5e-a93e-3ea72242225b\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player\",\"authoredState\":{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://www.radiantmediaplayer.com/media/big-buck-bunny-360p.mp4\\n\",\"poster\":\"https://www.gstatic.com/webp/gallery3/1.sm.png\",\"prompt\":\"Some small description\",\"credit\":\"Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. \",\"creditLink\":\"https://concord.org\",\"creditLinkDisplayText\":\"Concord Home\"},\"id\":\"90df0a51-e5f8-44b1-8a30-ac713a5affd6\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://building-models-resources.concord.org/Evaporation/water-drop-300-250.png\",\"highResUrl\":\"https://www.gstatic.com/webp/gallery/4.sm.jpg\",\"altText\":\"Some custom alt text in here\",\"caption\":\"Here is a beautiful flower which looks more like a tree once you zoom into it\",\"credit\":\"Credits out to CC\",\"creditLink\":\"https://concord.org\",\"creditLinkDisplayText\":\"Concord Home\",\"allowLightbox\":true},\"id\":\"85c2fa2d-5ac6-4024-80b2-c3ed71830601\",\"navImageUrl\":\"\",\"navImageAltText\":\"\"}],\"prompt\":\"

    QI Carousel Interactive. Contains 5 Interactives (Multiple Choice, Open Response, Fill-In-The-Blank, Image, Video) (Static)

    \",\"hint\":\"\",\"required\":false}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response\",\"authoredState\":{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Open response prompt

    \",\"hint\":\"

    hint for OR

    \",\"required\":true},\"id\":\"60d92b9d-01e5-424e-9172-f2c18b1c60f0\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank\",\"authoredState\":{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":20,\"matchTerm\":\"blank\"}],\"prompt\":\"

    Fill in the [blank-1]

    \",\"required\":true},\"id\":\"18b87d6d-8bfd-48a9-a121-e16b8b7c824c\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice\",\"authoredState\":{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Choice A\",\"correct\":true,\"choiceFeedback\":\"Choice A is right\"},{\"id\":\"2\",\"content\":\"Choice B\",\"correct\":false,\"choiceFeedback\":\"Choice B is wrong\"},{\"id\":\"3\",\"content\":\"Choice C\",\"correct\":false,\"choiceFeedback\":\"Choice C is wrong\"}],\"prompt\":\"

    MC sub question prompt

    \",\"enableCheckAnswer\":true,\"customFeedback\":true,\"required\":true},\"id\":\"5e31a201-ac05-4d5e-a93e-3ea72242225b\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player\",\"authoredState\":{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/test-project/Big_Buck_Bunny_360_10s_1MB.mp4\",\"poster\":\"https://www.gstatic.com/webp/gallery3/1.sm.png\",\"prompt\":\"Some small description\",\"credit\":\"Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. Some long credits. \",\"creditLink\":\"https://concord.org\",\"creditLinkDisplayText\":\"Concord Home\"},\"id\":\"90df0a51-e5f8-44b1-8a30-ac713a5affd6\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v1.1.0/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://building-models-resources.concord.org/Evaporation/water-drop-300-250.png\",\"highResUrl\":\"https://www.gstatic.com/webp/gallery/4.sm.jpg\",\"altText\":\"Some custom alt text in here\",\"caption\":\"Here is a beautiful flower which looks more like a tree once you zoom into it\",\"credit\":\"Credits out to CC\",\"creditLink\":\"https://concord.org\",\"creditLinkDisplayText\":\"Concord Home\",\"allowLightbox\":true},\"id\":\"85c2fa2d-5ac6-4024-80b2-c3ed71830601\",\"navImageUrl\":\"\",\"navImageAltText\":\"\"}],\"prompt\":\"

    QI Carousel Interactive. Contains 5 Interactives (Multiple Choice, Open Response, Fill-In-The-Blank, Image, Video) (Static)

    \",\"hint\":\"\",\"required\":false}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, diff --git a/src/public/offline-manifests/smoke-test-v1.json b/src/public/offline-manifests/smoke-test-v1.json index 067c84d9..738069bb 100644 --- a/src/public/offline-manifests/smoke-test-v1.json +++ b/src/public/offline-manifests/smoke-test-v1.json @@ -20,14 +20,14 @@ "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ.woff2", "https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2", "https://leaf-pack.concord.org/branch/main/", - "https://picsum.photos/200/300", + "https://placekitten.com/200/300", "https://placekitten.com/392/343", "https://placekitten.com/50/60", "https://placekitten.com/50/61", "https://placekitten.com/50/62", "https://placekitten.com/50/65", "https://token-service-files.s3.amazonaws.com/glossary-plugin/OAZ4YMBC1ATNeAdUif8X/glossary.json", - "https://www.radiantmediaplayer.com/media/big-buck-bunny-360p.mp4", + "https://project-resources.concord.org/test-project/Big_Buck_Bunny_360_10s_1MB.mp4", "https://www.thelabradorsite.com/wp-content/uploads/2016/05/6t.jpg", "models-resources/geniblocks/resources/fablevision/rooms/missioncontrol.jpg", "models-resources/glossary-plugin/version/v3.12.0/manifest.json", From 3503595fc52d898c4c876be294392f07c2707dd8 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Thu, 1 Apr 2021 13:48:57 -0400 Subject: [PATCH 196/242] Update APO app install instructions [#177583606] PT Story: https://www.pivotaltracker.com/story/show/177583606 Zeplin: https://zpl.io/VxA9Weg --- .../offline-manifest-loading-modal.scss | 18 +++++++-- .../offline-manifest-loading-modal.tsx | 40 ++++++++++++++----- 2 files changed, 45 insertions(+), 13 deletions(-) diff --git a/src/components/offline-manifest-loading-modal.scss b/src/components/offline-manifest-loading-modal.scss index 0773b95b..377de3c9 100644 --- a/src/components/offline-manifest-loading-modal.scss +++ b/src/components/offline-manifest-loading-modal.scss @@ -1,3 +1,4 @@ +@import "./vars.scss"; .offline-manifest-loading-modal { position: fixed; top: 0; @@ -20,16 +21,27 @@ .dialog { z-index: 1; background-color: #fff; - padding: 20px; color: #000; - min-width: 300px; + width: 500px; + padding: 21px 22.5px 25px; display: flex; flex-direction: column; justify-content: center; align-items: center; + font-family: Arial; + font-size: 11.3pt; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + color: #000000; div { - margin: 10px 0; + border: solid 1px var(--cc-charcoal-light-1); + background-color: var(--white); + margin: 15px 28px 12px; + text-align: center; } } } \ No newline at end of file diff --git a/src/components/offline-manifest-loading-modal.tsx b/src/components/offline-manifest-loading-modal.tsx index e4cf773b..e36a73c4 100644 --- a/src/components/offline-manifest-loading-modal.tsx +++ b/src/components/offline-manifest-loading-modal.tsx @@ -85,7 +85,7 @@ export class OfflineManifestLoadingModal extends React.Component return ( <>
    - Finished {message} {offlineManifest.name} assets + Finished {message} {offlineManifest.name} assets.
    {numFailedUrls > 0 ? @@ -95,16 +95,36 @@ export class OfflineManifestLoadingModal extends React.Component
    : <> -
    Everything is installed!
    -
    To Finish the install on a Mac:
    +
    All assets have been installed!
    +
    + To access activities on a Mac, install the Activity Player app: +
      -
    1. Click the install icon on the right of the browser address bar.
    2. -
    3. Confirm you want to install the application.
    4. -
    5. This will open these instructions in the newly installed application.
    6. -
    7. Find the light bulb logo in the dock.
    8. -
    9. Right click and select options, then keep in dock.
    10. -
    11. Close the application.
    12. -
    13. Open the application. You can now use the activities you just installed.
    14. +
    15. + Click the Install icon to the right of your browser’s address bar. +
    16. +
    17. + In the prompt, click the Install button. +

      + The Activity Player app window will open with these instructions. Also, the app icon — a light bulb — will be placed in the Dock. +


      +
    18. +
    19. + Find the light bulb icon in the Dock. +
    20. +
    21. + Right-click on the icon and select Options > Keep in Dock. +

      + The Activity Player app can now be opened using this light bulb icon. +


      +
    22. +
    23. + To access activities: close this Activity Player app window and then re-open it using the light bulb icon in the Dock. +

      + Note: upon re-opening the Activity Player app, these instructions will + be replaced with a list of activities. +


      +
    } From 204f97bcf957c3b4b7b8f2d0522a3d4ef4c7cac2 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Thu, 1 Apr 2021 15:57:35 -0400 Subject: [PATCH 197/242] Update update-offline-manifest script... - Now reads remote api activity json - Has bump-version option to automatically bump the version --- src/scripts/update-offline-manifest.config.ts | 11 ++ src/scripts/update-offline-manifest.ts | 139 ++++++++++++++++-- 2 files changed, 134 insertions(+), 16 deletions(-) create mode 100644 src/scripts/update-offline-manifest.config.ts diff --git a/src/scripts/update-offline-manifest.config.ts b/src/scripts/update-offline-manifest.config.ts new file mode 100644 index 00000000..9281a70a --- /dev/null +++ b/src/scripts/update-offline-manifest.config.ts @@ -0,0 +1,11 @@ +// UPDATE THIS TO CHANGE HOW ACTIVITIES ARE REWRITTEN + +export const config = { + glossary: { + s3Url: "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", + pluginUrl: "https://glossary-plugin.concord.org/branch/177305115-add-language-switcher/plugin.js" + }, + questionInteractives: { + version: "v1.2.0-pre.1" + } +}; diff --git a/src/scripts/update-offline-manifest.ts b/src/scripts/update-offline-manifest.ts index ed2317d8..45e4de83 100644 --- a/src/scripts/update-offline-manifest.ts +++ b/src/scripts/update-offline-manifest.ts @@ -2,18 +2,34 @@ import fs from "fs"; import path from "path"; import { Activity, OfflineManifest, OfflineManifestActivity } from "../types"; import request from "superagent"; -import { getAllUrlsInActivity, removeDuplicateUrls, rewriteModelsResourcesUrl } from "../utilities/activity-utils"; +import { getAllUrlsInActivity, removeDuplicateUrls, rewriteModelsResourcesUrl, walkObject } from "../utilities/activity-utils"; import fetch from "node-fetch"; +import { config } from "./update-offline-manifest.config"; + +interface BumpInfo { + newManifestPath: string; + newActivityDir: string; + createNewDir: boolean; + oldVersionName: string; + newVersionName: string; +} (global as any).fetch = fetch; +let bumpVersion = false; + const die = (message: string) => { console.error(message); process.exit(1); }; const getManifestPath = () => { - const filename = process.argv[2]; + const args = process.argv.slice(2); + const options = args.filter(arg => /--/.test(arg)); + const nonOptions = args.filter(arg => options.indexOf(arg) === -1); + + const filename = nonOptions[0]; + bumpVersion = options.indexOf("--bump-version") !== -1; if (!filename) { die("Usage: npm run update-offline-manifest "); @@ -37,14 +53,22 @@ const loadJSONFile = (filename: string) => { } }; +const convertToApiUrl = (resourceUrl: string) => { + const matches = resourceUrl.match(/^(https?:\/\/(.*))\/activities\/(\d+)$/); + if (!matches) { + return die(`Unknown resourceUrl format: ${resourceUrl}`); + } + return `${matches[1]}/api/v1/activities/${matches[3]}.json`; +}; + const getActivity = async (offlineActivity: OfflineManifestActivity): Promise => { console.log("Processing", offlineActivity.name, "..."); - const url = offlineActivity.contentUrl; + const url = convertToApiUrl(offlineActivity.resourceUrl); console.log(" ", url, "..."); if (/http/.test(url)) { try { const resp = await request.get(url); - return JSON.parse(resp.body) as Activity; + return JSON.parse(resp.text) as Activity; } catch (e) { die(`Unable to get ${url} - ${e.toString()}`); } @@ -58,16 +82,95 @@ const getActivity = async (offlineActivity: OfflineManifestActivity): Promise /^models-resources\//.test(url) ? `http://activity-player-offline.concord.org/${url}` : url; +const getBumpInfo = (manifestPath: string): BumpInfo => { + const {dir, base} = path.parse(manifestPath); + const matches = base.match(/^(.*)-v(\d+)\.json$/); + if (!matches) { + return die(`Not a versioned manifest we can deal with: ${manifestPath}`); + } + const version = parseInt(matches[2], 10); + if (isNaN(version)) { + return die(`Not a integer version: ${matches[2]}`); + } + const oldVersionName = `${matches[1]}-v${version}`; + const newVersionName = `${matches[1]}-v${version + 1}`; + const newManifestPath = path.join(dir, `${newVersionName}.json`); + let newActivityDir = dir.replace("offline-manifests", "offline-activities"); + const oldActivityDir = path.join(newActivityDir, oldVersionName); + + let createNewDir = false; + try { + const oldVersionStat = fs.statSync(oldActivityDir); + if (oldVersionStat.isDirectory()) { + newActivityDir = path.join(newActivityDir, newVersionName); + createNewDir = true; + } + } catch (e) {} // eslint-disable-line no-empty + + return ({ + newManifestPath, + newActivityDir, + createNewDir, + oldVersionName, + newVersionName + }); +}; + +const saveActivity = (bumpInfo: BumpInfo, offlineActivity: OfflineManifestActivity, activity: Activity) => { + let {base} = path.parse(offlineActivity.contentUrl); + if (!bumpInfo.createNewDir) { + base = base.replace(bumpInfo.oldVersionName, bumpInfo.newVersionName); + } + const filename = path.join(bumpInfo.newActivityDir, base); + console.log(` saving ${filename}...`); + fs.writeFileSync(filename, JSON.stringify(activity, null, 2)); +}; + +const updateActivityUrls = (activity: Activity) => { + activity.plugins = activity.plugins.map(plugin => { + if (plugin.approved_script_label === "glossary") { + const authorData = JSON.parse(plugin.author_data); + authorData.s3Url = config.glossary.s3Url; + plugin.author_data = JSON.stringify(authorData); + plugin.approved_script.url = config.glossary.pluginUrl; + } + return plugin; + }); + + walkObject(activity, (s, key) => { + if (key === "base_url") { + const matches = s.match(/^((.*)question-interactives\/version\/)([^/]+)(\/(.*))$/); + if (matches) { + return `${matches[1]}${config.questionInteractives.version}${matches[4]}`; + } + } + return s; + }); +}; + const main = async () => { const manifestPath = getManifestPath(); const manifestJSON = loadJSONFile(manifestPath) as OfflineManifest; let cacheList: string[] = []; + const bumpInfo = bumpVersion ? getBumpInfo(manifestPath) : null; + if (bumpInfo?.createNewDir) { + try { + fs.mkdirSync(bumpInfo.newActivityDir); + } catch (e) {} // eslint-disable-line no-empty + } + await manifestJSON.activities.reduce(async (promise, offlineActivity: OfflineManifestActivity) => { await promise; const activity = await getActivity(offlineActivity); if (activity) { + // update glossary urls and question interactives in activity + updateActivityUrls(activity); + + if (bumpInfo) { + saveActivity(bumpInfo, offlineActivity, activity); + } const urls = await getAllUrlsInActivity(activity); console.log(` found ${urls.length} urls ...`); cacheList.push(...urls); @@ -77,14 +180,26 @@ const main = async () => { cacheList = removeDuplicateUrls(cacheList.map(rewriteModelsResourcesUrl)); cacheList.sort(); - const oldMissingUrls = manifestJSON.cacheList.filter(url => cacheList.indexOf(url) === -1); - console.log(`\nFound ${cacheList.length} unique urls in content and ${oldMissingUrls.length} urls in manifest cache list not in activities`); + // const oldMissingUrls = manifestJSON.cacheList.filter(url => cacheList.indexOf(url) === -1); + // const allUrls = cacheList.concat(oldMissingUrls); + // console.log(`\nFound ${cacheList.length} unique urls in content and ${oldMissingUrls.length} urls in manifest cache list not in activities`); + console.log(`\nFound ${cacheList.length} unique urls in content`); + + if (bumpInfo) { + // save the cacheList in the new manifest version + const newOfflineManifest: OfflineManifest = { + name: manifestJSON.name, + activities: manifestJSON.activities.map(a => ({...a, contentUrl: a.contentUrl.replace(bumpInfo.oldVersionName, bumpInfo.newVersionName)})), + cacheList + }; + console.log(` saving ${bumpInfo.newManifestPath}...`); + fs.writeFileSync(bumpInfo.newManifestPath, JSON.stringify(newOfflineManifest, null, 2)); + } console.log("\nTesting all urls..."); - const allUrls = cacheList.concat(oldMissingUrls); const badUrls: {url: string, status: number}[] = []; - await allUrls.reduce(async (promise, url: string) => { + await cacheList.reduce(async (promise, url: string) => { await promise; url = maybeProxyUrl(url); @@ -109,11 +224,3 @@ const main = async () => { main(); -/* - -THINGS THAT COULD BE ADDED: - -1. Updating local activity json based on resource url -2. Updating manifest with new cache list or all urls - -*/ From 8654651b55a82774543752ebbd6b382d34071eef Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Thu, 1 Apr 2021 17:20:44 -0400 Subject: [PATCH 198/242] copy of v3 content to track changes --- researcher-report-query.json | 1 + .../precipitating-change-v4/interview.json | 429 +++ .../lesson-1-post.json | 229 ++ .../precipitating-change-v4/lesson-1.json | 1133 +++++++ .../lesson-2-post.json | 285 ++ .../precipitating-change-v4/lesson-2-pre.json | 285 ++ .../precipitating-change-v4/lesson-2.json | 2852 +++++++++++++++++ .../lesson-3-post.json | 248 ++ .../precipitating-change-v4/lesson-3-pre.json | 248 ++ .../precipitating-change-v4/lesson-3.json | 1164 +++++++ .../lesson-4-post.json | 248 ++ .../precipitating-change-v4/lesson-4-pre.json | 248 ++ .../precipitating-change-v4/lesson-4.json | 861 +++++ .../lesson-5-post.json | 285 ++ .../precipitating-change-v4/lesson-5-pre.json | 285 ++ .../precipitating-change-v4/lesson-5.json | 1164 +++++++ .../lesson-6-post.json | 248 ++ .../precipitating-change-v4/lesson-6-pre.json | 248 ++ .../precipitating-change-v4/lesson-6.json | 546 ++++ .../precipitating-change-v4/lesson-7.json | 984 ++++++ .../precipitating-change-v4.json | 327 ++ 21 files changed, 12318 insertions(+) create mode 100644 researcher-report-query.json create mode 100644 src/public/offline-activities/precipitating-change-v4/interview.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-1-post.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-1.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-2-post.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-2.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-3-post.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-3.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-4-post.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-4.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-5-post.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-5.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-6-post.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-6.json create mode 100644 src/public/offline-activities/precipitating-change-v4/lesson-7.json create mode 100644 src/public/offline-manifests/precipitating-change-v4.json diff --git a/researcher-report-query.json b/researcher-report-query.json new file mode 100644 index 00000000..106fa197 --- /dev/null +++ b/researcher-report-query.json @@ -0,0 +1 @@ +{"json":{"type":"learners","version":"1.1","learners":[{"run_remote_endpoint":"https://learn.concord.org/dataservice/external_activity_data/296fe68b-dedf-49d6-b18f-f9341533e0e9","class_id":17,"runnable_url":"https://authoring.concord.org/activities/1082"}],"user":{"id":"https://learn-report.concord.org/users/28","email":"scytacki@concord.org"}},"signature":"886d7c277e6033d9381468acf5ceff8a1426e606fabcb81d5d058798d282d00e"} diff --git a/src/public/offline-activities/precipitating-change-v4/interview.json b/src/public/offline-activities/precipitating-change-v4/interview.json new file mode 100644 index 00000000..b8d0f978 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/interview.json @@ -0,0 +1,429 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Interview - Predicting the Weather Without the Weather Channel", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143459, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png\"}", + "is_hidden": true, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1636-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EPredicting the weather without the Weather Channel\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETalk with an \u003Cstrong\u003Eadult family member or family friend\u003C/strong\u003E who you think might have experience predicting the weather (maybe even someone who is older who learned how to predict the weather when they were around your age).\u003C/p\u003E\r\n\u003Cp\u003EWhat if you needed a weather forecast and couldn\u0026rsquo;t use your usual ways of checking the weather? Imagine you\u0026rsquo;re planning to go snowmobiling on the tundra, but there\u0026rsquo;s a big power failure and there\u0026rsquo;s no TV, Internet, or cell phone available. Even the radio isn\u0026rsquo;t working! You might try to figure out a weather forecast with help from someone you know.\u003C/p\u003E\r\n\u003Cp\u003EAsk the person the questions below and write down their ideas. If possible, record your talk so you can go back and check that you\u0026rsquo;ve written down all the important ideas.\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "Predicting the Weather Without the Weather Channel", + "type": "Embeddable::Xhtml", + "ref_id": "147758-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png\"}", + "is_hidden": false, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1657-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"required\":true,\"prompt\":\"\u003Cp\u003EHow did you learn how to predict the weather?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1638-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat things do you observe to help you predict the weather? \u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1639-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow do you observe those things? (What senses do you use? What tools or instruments do you use?)\u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1640-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow do you use what you observe to predict what the upcoming weather is going to be like? \u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1641-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EStep outside together and ask: what do you think the weather is going to be like twelve hours from now and how do you know? If you are talking with someone who is far away, maybe by phone or Internet, ask them to either take a picture of what the sky is like where they are and send it to you or else describe what they see to you as they answer this question.\u003C/p\u003E\",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1642-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-1-post.json new file mode 100644 index 00000000..348e648c --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-1-post.json @@ -0,0 +1,229 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": null, + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144077, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs you answer these questions, think about the words used by the person you talked with about weather and the words used by a meteorologist. How do each of them describe weather and weather forecasting?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148413-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat are some \u003Cstrong\u003Esimilarities\u003C/strong\u003E between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1834-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat are some \u003Cstrong\u003Edifferences\u003C/strong\u003E between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1835-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy might it be worthwhile to have some understanding of how to predict weather yourself (without using information from TV or Internet)? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1836-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-1.json b/src/public/offline-activities/precipitating-change-v4/lesson-1.json new file mode 100644 index 00000000..88ec615b --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-1.json @@ -0,0 +1,1133 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Making an Initial Prediction", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143296, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever wondered how people on the news are able to predict tomorrow\u0026rsquo;s weather?\u003C/p\u003E\r\n\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will tell you about her job and how she predicts the weather.\u0026nbsp; Jackie will provide more information about being a meteorologist throughout this unit.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147485-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Jackie Purcell - L1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1262-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142934, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Overall Introduction", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWelcome to Precipitating Change! Watch this video to see what it is all about!\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "What This Unit Is About", + "type": "Embeddable::Xhtml", + "ref_id": "147101-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Mr. Neyhard's Introduction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1180-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142945, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Lesson Opening", + "position": 3, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYour unit challenge will be to determine if the Native Youth Olympics (NYO Games) in Anchorage will be able to take place as planned, be postponed or even be canceled because of problems traveling from across Alaska due to weather.\u003C/p\u003E\r\n\u003Cp\u003ETo solve this challenge throughout the unit, you will need to learn how to predict the weather.\u003C/p\u003E\r\n\u003Cp\u003EYou will have the following tools to help you:\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Real-world data for the Alaska mainland\u003Cbr /\u003E\u0026bull; A toolkit to help analyze the data\u003Cbr /\u003E\u003Cbr /\u003E\u003C/p\u003E\r\n\u003Cp\u003EWatch Mr. Neyhard tell you more about the unit challenge.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "The unit challenge", + "type": "Embeddable::Xhtml", + "ref_id": "147111-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1184-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142944, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring the Weather", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEXPLORING THE\u0026nbsp;WEATHER\u003C/p\u003E\r\n\u003Cp\u003E\"What am I going to wear today?\" is a question everyone asks each morning. How do you determine what you are going to wear? What information do you collect to inform your decision?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147110-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\",\"highResUrl\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1263-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "content": "\u003Cp\u003ELook at the\u0026nbsp;weather\u0026nbsp;data for the\u0026nbsp;morning\u0026nbsp;on Tuesday.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147486-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"54\u00b0F\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhat is the predicted temperature on Tuesday morning?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1265-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"54\u00b0F\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat is the predicted high temperature on Tuesday during the day?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1266-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Sunshine\",\"correct\":false},{\"id\":\"2\",\"content\":\"Snow\",\"correct\":false},{\"id\":\"3\",\"content\":\"Rain\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhat does the symbol on Tuesday mean?\u003C/p\u003E\\n\u003Cp\u003E\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png\\\" width=\\\"50\\\" height=\\\"44\\\"/\u003E\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1267-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A sweater, some pants, and either an umbrella or a rain jacket because it\u2019s not too cold or too warm but it is supposed to be raining.\",\"correct\":true},{\"id\":\"2\",\"content\":\"My parka/big fluffy coat, snow pants, snow boots, and ski goggles because snow will be falling.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Shorts and T-shirt with sunglasses because it will be sunny and hot.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EBased on the weather forecast, what would you wear on Tuesday morning?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1268-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "carousel", + "id": 143199, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Making a Prediction", + "position": 5, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EMAKING A\u0026nbsp;PREDICTION\u003C/p\u003E\r\n\u003Cp\u003ECan you determine at night what the\u0026nbsp;weather\u0026nbsp;will be the following morning? What kind of information goes into a\u0026nbsp;weather\u0026nbsp;prediction?\u003C/p\u003E\r\n\u003Cp\u003EYou have been planning to go to the NYO Games in Anchorage on April 23 at 7 am. This event has been planned for months and you are expecting that about 500 students will compete from all over the state. One of your jobs is to watch the\u0026nbsp;weather\u0026nbsp;and determine if the event is safe to proceed as\u0026nbsp;planned, or if it should be\u0026nbsp;postponed\u0026nbsp;or\u0026nbsp;cancelled.\u003C/p\u003E\r\n\u003Cp\u003EBelow is an Alaska\u0026nbsp;weather\u0026nbsp;dataset from weather stations that includes temperature,\u0026nbsp;precipitation, wind speed, and\u0026nbsp;wind direction.\u003C/p\u003E\r\n\u003Cp\u003EThe data from the\u0026nbsp;weather\u0026nbsp;stations are organized to show information for a 24-hour time period.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147487-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": true, + "model_library_url": null, + "name": "Alaska Full Map", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "type": "MwInteractive", + "ref_id": "96755-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1297-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1298-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"\u003Cp\u003EClick through the radar images which provide precipitation changes for a 24-hour time period.\u003C/p\u003E\",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "d28c5f7719a5e637904c6b1de2d0036ba4f76313", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/carousel/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Carousel Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1316-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat do you predict the weather will be at 7am in Anchorage on April 23rd? Will it be raining in Anchorage or not? Please include a number for the temperature, for example 75 degrees F. in your explanation.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1434-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"likert\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"6cf707ea-431c-4873-b351-7ce8fe6af548\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"42e03e94-4e9d-4d84-89d8-71efb91ea9bd\"}],\"prompt\":\"\u003Cp\u003EHow confident are you of your prediction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1350-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143338, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148889-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How the air feels and the sky looks when I go outside\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The condition of the air that surrounds the Earth at a particular time and place\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) What the sky will do at any given time\",\"correct\":false},{\"content\":\"d) Rain, snow, sleet, hail, sunshine, clouds\",\"correct\":false,\"id\":\"17adffb5-75c5-445c-97ba-7c8bc40428a5\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition for the word \u201cweather\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2012-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Forecast based on evidence about a future event\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Having a premonition\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) When you know something is going to happen\",\"correct\":false},{\"content\":\"d) Forecast based on evidence about past events\",\"correct\":false,\"id\":\"cc1298b9-983c-4665-8259-1846d12d93bc\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition for the word \u201cprediction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2013-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"ec77134a-e481-44b6-ae6b-3c946755ecae\"}],\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2014-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To focus on my work\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To learn something about weather\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) To predict the weather at 7am in Anchorage on April 23rd\",\"correct\":true},{\"content\":\"d) To get into the NYO Games\",\"correct\":false,\"id\":\"71d0bbc7-d5bd-47f8-9be5-1f1591c8918e\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is your challenge for this weather unit?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2015-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) First, click on the word\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Second, look at the picture and read the caption\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Third, try to write my own definition for the word\",\"correct\":false},{\"content\":\"d) Fourth, read the actual definition and watch the video if needed\",\"correct\":false,\"id\":\"76ac086c-1572-48f3-bceb-944f20697651\"},{\"content\":\"e) All of the above\",\"correct\":true,\"id\":\"9a77ae48-7532-44cd-9112-58d1b87c5470\"},{\"content\":\"f) Only answers C and D\",\"correct\":false,\"id\":\"cdcb1029-a50e-4f9b-af8c-62eeb16fc034\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EHow do you use the glossary? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2016-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json new file mode 100644 index 00000000..44c971aa --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143587, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Estimate the Temperature?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying\u0026nbsp;weather. The students will make a computer model to predict\u0026nbsp;weather\u0026nbsp;in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31\u02da and 59\u02da.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png\" alt=\"\" width=\"550\" height=\"62\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should use the number that is exactly halfway in between 31\u02daand 59\u02da. That\u0026rsquo;s the most exact way to estimate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should mark a number line along the map with the estimate in each square going up the same amount between 31\u02da and 59\u02da. That\u0026rsquo;d be the best estimate.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EIt doesn\u0026rsquo;t make sense to estimate the temperature at the X. We\u0026rsquo;d need to go there and measure the temperature. You can\u0026rsquo;t be confident unless you measure it.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThe X is closer to the 59\u02da than to the 31\u02da, so let\u0026rsquo;s choose a number closer to 59\u02da. That\u0026rsquo;s the best we can do because we don\u0026rsquo;t know what\u0026rsquo;s happening with the weather in those places.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147889-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1684-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1685-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17136-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10226-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10227-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10228-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json new file mode 100644 index 00000000..5a0aa7a9 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143495, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Estimate the Temperature?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying\u0026nbsp;weather. The students will make a computer model to predict\u0026nbsp;weather\u0026nbsp;in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31\u02da and 59\u02da.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png\" alt=\"\" width=\"550\" height=\"62\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should use the number that is exactly halfway in between 31\u02daand 59\u02da. That\u0026rsquo;s the most exact way to estimate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should mark a number line along the map with the estimate in each square going up the same amount between 31\u02da and 59\u02da. That\u0026rsquo;d be the best estimate.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EIt doesn\u0026rsquo;t make sense to estimate the temperature at the X. We\u0026rsquo;d need to go there and measure the temperature. You can\u0026rsquo;t be confident unless you measure it.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThe X is closer to the 59\u02da than to the 31\u02da, so let\u0026rsquo;s choose a number closer to 59\u02da. That\u0026rsquo;s the best we can do because we don\u0026rsquo;t know what\u0026rsquo;s happening with the weather in those places.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147795-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1658-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1649-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17135-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10214-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10215-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10216-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2.json b/src/public/offline-activities/precipitating-change-v4/lesson-2.json new file mode 100644 index 00000000..c650371b --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2.json @@ -0,0 +1,2852 @@ +{ + "description": "\u003Cp\u003EHow can weather from the past inform future weather predictions?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Displaying Temperature Data ", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143620, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how temperature plays an important part in predicting weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147936-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1705-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143207, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever wondered why some temperature displays are in color (for instance, television weather reports), but a thermometer displays temperature in numbers? Or how weather apps can tell you what the temperature is wherever you are? In this lesson, you are going to learn what it means to display temperature for mainland Alaska.\u003C/p\u003E\r\n\u003Cp\u003EAs\u0026nbsp; weather scientists (meteorologists), you will experience a virtual storm event in your classroom. As the virtual storm event occurs, you and your research team will collect and record temperature data.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EAs part of your lesson challenge, you will need to determine how to capture the data, how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147375-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Holder for Kevin's video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1706-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 2: DISPLAYING DATA:\\n\\n**HOW CAN WEATHER FROM THE PAST INFORM FUTURE WEATHER PREDICTIONS?**\\n\\nIn this lesson, students are introduced to the virtual storm technology by experiencing a weather event move through their classroom. A weather station collects data about the current weather at a specific location. The strategic placement of multiple stations and use of digital tools and mathematical concepts allows weather scientists to create a more accurate and complete model/visualization of the weather over a region and analyze it for patterns and trends. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Take a limited amount of information and develop a more complete picture of the weather (create a weather visualization)\\n\\n* Explain a weather map using traditional weather symbols and codes (weather stations with temperature)\\n\\n* Make minimally informed predictions about future weather events\\n\\n* Explain that weather varies over time\\n\\nComputational Thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Data Aggregation | Describes the data collection and organization process you use to better understand the topic. | Students will collect temperature data from tablet/laptop and organize the data in charts on the wall. |\\n| Data Abstraction | Simplifying data to make it easier to interpret and find patterns. | Students will come up with a color scheme for temperature and change how the data is represented from numbers to temperature categories, and then to colors. |\\n| Interpolation | Estimating an unknown value based on surrounding information. | Students will make best guess estimates of the temperatures that are missing on the map. |\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students collect data in two rounds and see patterns of data moving across the charts. Before and after each data collection they will interpolate data. They will discover that warm and cold spots on the map are consistently on certain sides, and also see these spots change over time. |\\n| Extrapolation | Following a pattern beyond the known data points. | Students predict future weather based on patterns they observe in the changing temperatures they collected and visualized. |\\n \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9759-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME \\t 2 class periods with Pre-Assessment (80 mins)\\n\\n**KEY ACTIVITIES:**\\nOpening - (5 mins)\\n\\nActivity 1 - Virtual Storm (30 mins)\\n\\nActivity 2 - Interpolating Weather Station Data (20 mins)\\n\\nActivity 3 - Virtual Storm (15 mins)\\n\\nPost-Assessment - How Should We Estimate the Temperature? (10 mins)\\n\\n### MATERIALS AND SET-UP\\nActivity 1 - Virtual Storm: Displaying Temperature Data\\n \\nThis activity requires significant setup time and you may want to plan a few hours to transform the classroom into a 7x7 gridded space and to test and set up the iPads/laptops. \\n\\n**Per Research Team (2-4 students):**\\n\\n* Marker\\n* 3\\\" x 3\\\" sticky notes in the following colors: blue, green, yellow, red, purple, orange\\n* Fully charged and connected iPad/laptop that can display the online activity\\n* Set of colored pencils (for individual student sheets)\\n\\n**Per Class:**\\n\\n* Click [HERE](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf) and print \u201cA-G\u201d and \\\"1-7\\\" coordinates in the largest font possible.\\n\\n* Push desks to walls to get as much open space in your classroom as possible.\\n\\n* Tape labels to the classroom walls, evenly spaced. Make sure the letters are on opposite walls and the numbers on walls opposite, mirroring each other. See image below for an example:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GridSetUpExampleRESIZED.png)\\n\\n* Students should be able to stand in the grid. For example, the smiley face represents a student standing in G6. Adapt the grid points to what you have available in your learning space.\\n\\n**Weather maps:**\\n\\n* Place four large poster-sized sheets of gridded paper on a classroom wall, organizing the chart paper in a row. Each sheet will contain a 7 x 7 grid with axes labeled to match the room set-up. Click [HERE](https://youtu.be/HD_6BAHib1A) to watch a tutorial on how to create weather map grids for your classroom. \\n\\n* Label the top of each sheet with a different time: 7:00 am, 11:00 am, 3:00 pm, and 7:00 pm, and organize them on the wall in order of the time.\\n\\n* Have students track the virtual weather event and record their group's data on the tracking sheet in their Science Notebook.\\n\\n**City Markers:**\\n\\n* Print five city markers by clicking [HERE - PDF](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf)\\n\\n* Place \\\"City Markers\\\" on the floor in the appropriate classroom grid locations that correspond to the map shown in the image below:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/AKGridMapResized.png)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9760-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 2.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9761-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143208, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weather Station - Data", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs scientists, it is important to record temperature data for analysis and to predict future\u0026nbsp;weather\u0026nbsp;events.\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Displaying Temperature", + "type": "Embeddable::Xhtml", + "ref_id": "149056-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EGather information from each weather station shown on the map below. Click\u0026nbsp;\u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun.\u003C/em\u003E\u0026nbsp;Then click each weather station to see the temperature observed for the communities across Alaska at the given time.\u003C/p\u003E\r\n\u003Cp\u003EThe boxes on the grid are called \u003Cem\u003Ecells\u003C/em\u003E and are identified with a letter and a number.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149057-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Activity 1 - Virtual Storm: Visualizing Temperature \\n\\nIn this activity, students simulate the experience of a weather scientist collecting weather data for a large area and organizing it into useful maps to predict a future weather event. Students collaboratively negotiate what the data means, as well as how to accurately record the data and represent it so they can use the emerging pattern to predict a future weather event. The specific computational thinking practices highlighted and practiced in this activity are **Data Aggregation**, **Abstraction**, and **Interpolation**.\\n\\n###Activity Breakdown\\n**1. Setting the stage for the virtual storm.** The grid in the classroom represents a smaller region in Alaska than the area covered in the Lesson 1 radar images. This area includes the following cities: Bettles, Gelena, Nome, Noorvik, and St. Mary\u2019s. In their research teams, students collect temperature data every four hours throughout the region for an eight-hour period of time. \\n\\n* Have a student stand in a square and ask the class to identify the coordinates of where they are standing. Repeat until clear.\\n\\n**2. Round 1 - Starting the Virtual Storm technology. **\\n\\n* Ask research teams to select a student from their team to move to an unoccupied grid cell. \\n\\n* Launch the Virtual Storm technology and have another student from the team record the temperature in the selected cell onto the poster sheet labeled \\\"7:00 am.\\\" \\n\\n* Click \\\"PLAY\\\" on the Virtual Storm technology. Instruct the students to watch the clock in the Weather Sensor, and every four hours record the temperature readings onto the corresponding poster sheets on the walls (7:00 am, 11:00 am, 3:00 pm). After this round, all posters should have eight squares filled in. \\n\\n**3. Round 2 - Students gaining practice by repeating the process.**\\n\\n* Click the \u201cRESET\u201d button. Ask research groups to choose new positions on the grid. \\n* Run the simulation and encourage students to collect and record the data on the three maps again. At the end of this round, each chart should have 16 squares filled in on each chart.\\n\\n**4. Round 3 - Be more strategic.**\\n\\n* Let the research teams rethink their position and either stay or move to a more strategically chosen position.\\n\\n* Run the simulation again, asking students to record the data on three charts. At the end of this round, 24 squares should be filled in with temperature data.\\n\\n** 5. Class Discussion - Emerging patterns \u0026 abstraction.**\\n\\n* Help students develop a color scheme of their choosing, and suggest colored sticky notes for the scheme. Honor the way students want to do it and post the scheme on the wall. For example, students might come up with six temperature categories:\\n * 10-19\u00b0F/-12.2 to -7.2\u00b0C: purple (extremely cold)\\n * 20-29\u00b0F/-6.7 to -1.7\u00b0C: blue (very cold)\\n * 30-39\u00b0F/-1.1 to 3.9\u00b0C: green (cold)\\n * 40-49\u00b0F/4.4 to 9.4\u00b0C: yellow (cool)\\n * 50-59\u00b0F/10 to 15\u00b0C: orange (warm)\\n * 60-69\u00b0F/15.6 to 20.6\u00b0C: red (very warm)\\n\\n* Before going on, have students place the colored sticky notes with the temperatures written on them over the original temperatures. Each team is responsible for their first three postings. \\n\\n** 6. Round 4 - Interpolation test.** \\n\\n* Direct the research teams to choose a new positions on the grid and ask them to take a **\\\"GUESS\\\"** of what the temperature will be for each of the charts.\\n\\n* Run the simulation. Students use the correct colored post-it note for the actual temperature and write **\u201cACTUAL\u201d** on the note and place it over their previous guesses. At the end of this round, there should be 32 squares covered on each chart.\\n\\n**7. Class discussion - Introduce interpolation strategy.** Please see Interpolation Strategy discussion prompts in the Discussion Points below. \\n\\n**8. Round 5 - Repeat interpolation strategy.**\\n\\n* Students repeat Step 6 with the new Interpolation Strategy informing their decision. At the end of this round, there should be 40 squares covered on the chart. \\n\\n**9. Interpolate to Complete the Image.**\\n\\n* As a class, fill in the remaining nine squares on the charts with the agreed upon colored sticky notes. Do not run the simulation to check. At this time, the three charts should be completely filled in.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9762-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Location Selection Strategy\\n\\nWhen you ask research groups to choose new positions on the grid, before starting the simulation, have a short discussion on why they selected these locations. The discussion could unveil two potential strategies: \\n\\n1. Areas where data are very sparse (large open areas where we have no readings at all).\\n\\n2. Areas where we are beginning to see interesting trends and want to see whether the patterns we are observing will continue.\\n\\n###Emerging Patterns \u0026 Abstraction\\nAfter 24 squares have been filled in, ask students the following:\\n\\n* Do you see any emerging patterns in the data? \\n\\n* Why is it hard to determine patterns? Responses could include sparseness of data, but also difficulty of seeing patterns around the numerical representation of temperature.\\n\\n* How can we make it easier to see the temperature patterns? Answer: color code the numbers in a system. If students struggle with coming up with an answer, remind them how they tend to see temperature on common weather forecasts.\\n\\n###Data Abstraction (simplifying or generalizing data to analyze it for trends). \\nPossible prompts for the discussion:\\n\\n* Do you see any patterns with the color coding that you did not see before we added the post-it notes?\\n\\n* How does adding the color help? (It helps your perception: your eye is more easily able to see clusters and trends.)\\n\\n* Is there any disadvantage to using color instead of the numbers? (Yes, we lose detail. We can no longer tell the difference between a cell that was 44\u00b0 and one that was 46\u00b0.)\\n\\n###Interpolation Strategy\\nLead a class discussion reflecting on which guesses were right, wrong, and close. Possible prompts:\\n\\n* Which groups got their predictions right? What was their strategy?\\n\\n* Which groups got their predictions wrong? How close were they? What was their strategy?\\n\\n* Do you think real atmospheric scientists ever have to fill in data (\u201cguess\u201d) in between known data points? Why or why not?\\n\\n* What was your strategy/reasoning that informed your guess? \\n\\n* Which research group\u2019s strategies were successful? Which were not? \\n\\n* Any strategies you would like to use in the future?\\n\\n* Did you get better at guessing this time? Why or why not?\\n\\n* How reliable do you think these guesses or estimates are?\\n\\n\\n###Interpolation Introduction\\n\\nTell the students that what they have been doing when guessing is called interpolation, estimating an unknown value based on surrounding information.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9763-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This Precipitating Change How To Tutorial can be shown to the whole class to give students a better understanding of their roles during the Virtual Storm activity. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"Virtual Storm Student Guide,\\\" 2019. \",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20Virtual%20Storm%20Student%20Guide.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9764-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Once you launch the Virtual Storm by clicking \\\"PLAY\\\", the students will watch the clock and record the temperature readings onto the corresponding weather map poster sheets on the wall every four hours (7:00 am, 11:00 am, 3:00 pm). Follow the steps provided in the Theory \u0026 Background section to guide the students to complete the weather maps.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"The Virtual Storm Interactive Alaska,\\\" 2019.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9765-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57\u00b0F\",\"correct\":false},{\"content\":\"58\u00b0F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik (cell C-2) at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1708-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"55\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"56\u00b0F\",\"correct\":false},{\"content\":\"57\u00b0F\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome (cell B-4) at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1710-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Known and Unknown Temperature Measurements ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", + "type": "MwInteractive", + "ref_id": "97687-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143702, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "First Prediction", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ENow you know how to gather information from one weather station at a time.\u0026nbsp; But what about all the places on the map that do not have a weather station?\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148032-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map below. Try to predict what the temperature will be in the cells labeled with a question mark.\u003C/p\u003E", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148033-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-A1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell A-1. [blank-A1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1785-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-G3]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell G-3. [blank-G3]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1787-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-B7]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell B-7. [blank-B7]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1788-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"There are no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is no other data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It\u2019s difficult to see any patterns with only 8 community\u2019s weather station data.\",\"correct\":false},{\"content\":\"All of the above.\",\"correct\":true,\"id\":\"d0e3f559-c3b2-4ca2-92ee-3638f5a45188\"}],\"prompt\":\"\u003Cp\u003EWhy is it difficult to make predictions for these locations?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1789-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1786-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143624, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Second Prediction", + "position": 5, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map to the right.\u0026nbsp; Now, try to predict what the temperature will be in the cells with a question mark.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147941-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":3}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell A-1. [blank-1]\u003C/p\u003E\",\"required\":false}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1715-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell G-3. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1716-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell B-7. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1717-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A. It\u2019s not easy, there are still no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B. There is a lot more data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. It\u2019s easier to see any patterns when more data is given.\",\"correct\":false},{\"content\":\"Both B and C.\",\"correct\":true,\"id\":\"b2eba22d-1bbc-4f20-a1c8-c534e9b6085c\"},{\"content\":\"Both A and B.\",\"correct\":false,\"id\":\"283878d3-83dc-407a-a6ab-972efc498d7a\"}],\"prompt\":\"\u003Cp\u003EWhy is it easier to predict the temperature more accurately on this data chart?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1718-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1755-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143209, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolation", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHow do you think weather scientists (meteorologists) fill in data for missing locations? Scientists have many methods for constructing unknown data between known data points. This is called data\u0026nbsp;interpolation.\u003C/p\u003E\n\u003Cp\u003EThere are many different methods to interpolate data. Let\u0026rsquo;s look at the three\u0026nbsp;interpolation\u0026nbsp;methods used to make these maps.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKABCinterpolationtemp.jpg\" alt=\"\" width=\"484\" height=\"383\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003ENearest Neighbor Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square A, you may have guessed 54\u0026deg;F degrees or something very close to that. This is the simplest\u0026nbsp;interpolation\u0026nbsp;method. It is called\u0026nbsp;\u003Cstrong\u003ENearest Neighbor\u003C/strong\u003E. With this method, you find the nearest\u0026nbsp;weather station to the unknown point and assume it has a similar temperature.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003E\u003Cstrong\u003ELinear Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square B, you may have guessed between 38\u0026deg;F and 50\u0026deg;F, but closer to 50\u0026deg;F. Since this square is between two known temperatures, the unknown temperature is probably between 38\u0026deg;F and 50\u0026deg;F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKlinearinterpolation.jpg\" alt=\"\" width=\"310\" height=\"151\" /\u003E\u003C/p\u003E\n\u003Cp\u003EThis method is called\u003Cstrong\u003E Linear Interpolation\u003C/strong\u003E.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003E\u003Cstrong\u003EWeighted Average Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square C, the square is between other squares at 30\u0026deg;F, 48\u0026deg;F, and 50\u0026deg;F. You could average the three numbers and get approximately 43\u0026deg;F. Or you could try to be even more precise. The unknown square is closer to the 50\u0026deg;F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45\u0026deg;F or 46\u0026deg;F). This method is called\u0026nbsp;\u003Cstrong\u003EWeighted Average\u0026nbsp;Interpolation\u003C/strong\u003E\u0026nbsp;since we give more \u0026ldquo;weight\u0026rdquo; or influence to the closer stations.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKweightedneigborinterpolation.jpg\" alt=\"\" width=\"453\" height=\"374\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147378-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Interpolating Weather Station Data\\n\\nStudents will work through three tasks that will deepen their understandings of the three interpolation methods (nearest neighbor, linear, and weighted average). \\n\\n**Teacher Note: Definitions of the Three Interpolation Methods**\\n\\n* **Nearest Neighbor Interpolation:** Find the nearest weather station to your unknown point, and assume it has the same temperature as the unknown.\\n\\n* **Linear Interpolation:** If an unknown is between two points, estimate a number that is between those two points, but closer to the point that it is geographically closer to. Temperature change between the two points should increase/decrease in regular intervals.\\n\\n* **Weighted Average Interpolation**: Choose three stations around your point, and estimate a number that is the average of the three. But, don\u2019t stop there. Try to be even more precise. If the unknown point is closer to one or two of the points, then estimate the unknown point closer in value to the stations it is nearer to.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9766-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"f3ca8705-099e-4903-aea2-fe4ee99c0d22\"}],\"prompt\":\"\u003Cp\u003EIf two weather scientists were using the same data but different interpolation methods, could they get different results?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1723-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Kevin Short Video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1725-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143210, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolation (Cont.)", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EEach of the following maps used the same station data but a different data\u0026nbsp;interpolation\u0026nbsp;method:\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AK-3-maps-interpolation.png\" width=\"900\" height=\"315\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147379-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":true,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 1 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1224-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 2 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1225-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 3 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1226-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1721-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143625, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Pattern Recognition", + "position": 8, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ELook at the data in the map to the right.\u0026nbsp; Try to think of ways we could make this data easier for finding patterns.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147942-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\" Forget the map and put all of the numbers in order like a number line.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Take the average of each column and each row for that part of Alaska.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Color code the data for certain temperatures. For example from 45-50 degrees F would be the color blue.\",\"correct\":true},{\"content\":\"Add every number together so that we get one really large number to work with. \",\"correct\":false,\"id\":\"eef89f7a-ecfd-48fa-80f7-973d6862bdb1\"}],\"prompt\":\"\u003Cp\u003EWhat is one way we can make this weather data easier to understand for predicting weather across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1727-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1770-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143626, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Pattern Recognition (Cont.)", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EOn the map below, click \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E. Then use the key to the right of the data map to drag and drop the color tiles over the correct temperature for that color\u0026rsquo;s temperature range. You can check your answers at any time.\u003C/p\u003E\r\n\u003Cp\u003EHint: To make coloring easier, a colored cell can be used to \"paint\" other cells by dragging over them.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149058-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because all of the numbers would still be the same.\",\"correct\":false},{\"id\":\"2\",\"content\":\"No, because different students would put different temperatures for a color and that would make their map have a different color pattern. \",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIf each student in the class were to make their own color key, would we have all ended up with the same pattern at the end?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1728-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It gets warmer.\",\"correct\":true},{\"id\":\"2\",\"content\":\"It gets cooler.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It stays the same.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat happens to the temperatures at 7am as you travel to the southeast across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1729-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes\",\"correct\":false},{\"id\":\"2\",\"content\":\"No\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWas it as easy to see this warming pattern before we added the colors?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1730-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EExplain your reason for the above answer.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1731-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Abstracting Temperature Ranges with Color ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "type": "MwInteractive", + "ref_id": "97688-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143627, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Moving Weather Pattern", + "position": 10, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWow!\u0026nbsp; You made it.\u0026nbsp;You have predicted temperature for unknown locations using interpolation. Now you understand how temperature data can cover the map with a limited number of real measurements.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003ENow, you'll start looking for patterns of temperature changes over time.\u003C/p\u003E\r\n\u003Cp\u003EBelow you will see three maps of temperature data each one at a different time during one day. Study the changes of temperature over time looking for patterns in the data.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147944-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"The colder temperatures are moving from the northwest towards the southeast.\",\"correct\":true},{\"id\":\"2\",\"content\":\"The temperatures in the southeast are getting much warmer.\",\"correct\":false},{\"id\":\"3\",\"content\":\"The temperatures in the southeast are getting much cooler.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat is happening to the temperatures as time goes from 7am to 3pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1732-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Temperature Map at Three Times", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2090-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143628, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction", + "position": 11, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWeather scientists use patterns in known data over time to make predictions in the future.\u003C/p\u003E\r\n\u003Cp\u003ENow, you'll try predicting temperature for a future time. You will need to make a plan or \u003Cem\u003Estrategy\u003C/em\u003E to make a good prediction.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147945-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EThe map below shows temperature for three times separated by 4 hours.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cem\u003EYour job will be to predict the temperature for\u0026nbsp;\u003C/em\u003E\u003Cem\u003E\u003Cstrong\u003E4 hours after the last measurement shown.\u003C/strong\u003E\u003C/em\u003E\u003C/p\u003E\r\n\u003Cp\u003EThings to do and look for:\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003EUse the slider to see temperatures from 7am to 3pm.\u003C/li\u003E\r\n\u003Cli\u003ELook for patterns of temperature changes over time.\u003C/li\u003E\r\n\u003Cli\u003ETo see patterns, it may help to turn on and off the temperature data or the color key.\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\u003Cp\u003ERemember: always start by clicking \u003Cstrong\u003E\u003Cem\u003ESetup\u003C/em\u003E \u003C/strong\u003Eand \u003Cstrong\u003Ethen\u0026nbsp;\u003Cem\u003ERun\u003C/em\u003E\u003C/strong\u003E.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149059-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Noorvik patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Noorvik11am]\",\"size\":5},{\"id\":\"[blank-Noorvik3pm]\",\"size\":5},{\"id\":\"[blank-Noorvik7am]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter the temperature in Noorvik (cell C-2) for 7am [blank-Noorvik7am], 11am [blank-Noorvik11am], and 3pm [blank-Noorvik3pm].\u003C/p\u003E\",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2143-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Noorvik prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Noorvik at 7pm. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1736-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Nome patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Nome7am]\",\"size\":5,\"matchTerm\":\"56\"},{\"id\":\"[blank-Nome11am]\",\"size\":5,\"matchTerm\":\"51\"},{\"id\":\"[blank-Nome3pm]\",\"size\":5,\"matchTerm\":\"46\"}],\"prompt\":\"\u003Cp\u003EEnter the temperature in Nome (cell B-4) at 7am [blank-Nome7am], 11am [blank-Nome11am], and 3pm [blank-Nome3pm].\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2144-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Nome prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Nome at 7pm. [blank-1]\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1738-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Prediction Strategy", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDescribe your plan or strategy for making these predictions. For example, did you see a pattern in the temperatures that helped you come up with your prediction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2145-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Map with Three Observation Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "type": "MwInteractive", + "ref_id": "97689-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143629, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction (Cont.)", + "position": 12, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe map on this page is just the same as the previous page except it includes the measurement for 7pm. Use the slider to compare your prediction to the measured data.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Checking Your Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147948-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"37\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"38\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"39\u00b0F\",\"correct\":true},{\"content\":\"40\u00b0F\",\"correct\":false,\"id\":\"aa2fd593-c08e-40e2-a0fd-8c1af86eba2d\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik (cell C-2) at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1739-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"39\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"40\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"41\u00b0F\",\"correct\":false},{\"content\":\"42\u00b0F\",\"correct\":true,\"id\":\"bdf4731a-c1e0-4794-9f9a-ef03e07668b2\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome (cell B-4) at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1741-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003E Does your prediction from the previous page match with the actual temperature for each city? If not, by how many degrees did they differ? Was your estimate high or low? \u003C/p\u003E\",\"hint\":\"\u003Cp\u003EHint: Subtract the estimate from the actual.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1742-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Revised Patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDid your strategy for predicting the temperature from the previous page work? Explain your answer.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2146-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Temperature at Four Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "type": "MwInteractive", + "ref_id": "97691-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143211, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 13, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease check your knowledge of the information in this lesson with this short quiz.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147380-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Interpolation Highlights\\n* Remind students that this activity is similar to the \\\"guessing\\\" process they used in their previous activity to fill in the data chart. \\n\\n* Explain again that weather scientists don\u2019t have data for every location on earth and that they interpolate data to develop a more complete picture. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9767-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for A below:\\n\\nWeighted Average = 36\\nNearest Neighbor = 30\\nLinear = 32\\n\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9768-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for B below:\\nWeighted Average = 42\\nNearest Neighbor = 48\\nLinear = 44\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9769-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for C below:\\nWeighted Average = 48\\nNearest Neighbor = 54\\nLinear = 51\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9770-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Making a prediction in blank spaces\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of talking to your neighbor about your weight while standing in a line\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Estimating and unknown value based on surrounding information\",\"correct\":true},{\"content\":\"d) Copying data from weather stations into blank spaces\",\"correct\":false,\"id\":\"fea96b2e-26aa-4fbc-8022-ee8cf6d0f9f1\"}],\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cInterpolation\u201d?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2003-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Weighted Average, Linear, Nearest Neighbor\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Weighted Neighbor, Linear Average, Nearest Common Denominator\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Weighted Linear, Nearest average, Friendly Neighbor\",\"correct\":false},{\"content\":\"d) Alphabetical, Numerical, Linear\",\"correct\":false,\"id\":\"95f3d0b0-6ada-4426-aae5-f91a7cfd469e\"}],\"enableCheckAnswer\":true,\"hint\":\"\",\"prompt\":\"\u003Cp\u003EWhat are the three forms of Interpolation you learned in this lesson?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2009-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It makes the map more interesting to look at so that people might want to watch the weather on television.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It makes it easier to see where the warmer air and cooler air is on the map instead of trying to look at individual numbers.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) Because it\u2019s fun to color things in.\",\"correct\":false}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhy does it help to color code temperatures on a weather map?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2010-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) From the southeast towards the northwest\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) From the East to the West\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) From the West to the East\",\"correct\":false},{\"content\":\"d) From the northwest towards the southeast\",\"correct\":true,\"id\":\"7fef3354-d757-4411-b431-288e9469301c\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EIn the example that you have just worked with, which direction is the colder air moving?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2011-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json new file mode 100644 index 00000000..76eae46a --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143592, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWhich Estimates Should We Trust?\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png\" width=\"555\" height=\"444\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas. (Each student\u0026rsquo;s estimated temperature choice is in \u003Cstrong\u003Ebold\u003C/strong\u003E to make it easier to find.)\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E53\u02da\u003C/strong\u003E because it\u0026rsquo;s furthest outside of the temperatures that were actually measured at a weather station.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E43\u02da\u003C/strong\u003E because it\u0026rsquo;s far away from any temperatures measured at a weather station.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E39\u02da\u003C/strong\u003E because there aren\u0026rsquo;t any other estimated temperatures near the 39\u02da estimate.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E37\u02da\u003C/strong\u003E because weather usually moves from west to east, so I\u0026rsquo;m unsure about estimates on the west side of the map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png\" alt=\"\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147898-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10240-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it\u2019s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there\u2019s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate \u2013 meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10241-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (39\u00b0)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin\u2019s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39\u00b0 as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n\u2022\\t**Sage\u2019s response (37\u00b0)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37\u00b0 may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n\u2022\\t**Delana\u2019s response (43\u00b0)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43\u00b0 cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana\u2019s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46\u00b0 and 51\u00b0 measured temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Alex\u2019s response (53\u00b0)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana\u2019s response above, if there were a weather front just to the east of the 46\u00b0 and 51\u00b0 observed temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10242-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1688-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1689-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json new file mode 100644 index 00000000..ae3cba7b --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143591, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhich Estimates Should We Trust?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png\" width=\"555\" height=\"444\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas. (Each student\u0026rsquo;s estimated temperature choice is in \u003Cstrong\u003Ebold\u003C/strong\u003E to make it easier to find.)\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E53\u02da\u003C/strong\u003E because it\u0026rsquo;s furthest outside of the temperatures that were actually measured at a weather station.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E43\u02da\u003C/strong\u003E because it\u0026rsquo;s far away from any temperatures measured at a weather station.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E39\u02da\u003C/strong\u003E because there aren\u0026rsquo;t any other estimated temperatures near the 39\u02da estimate.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E37\u02da\u003C/strong\u003E because weather usually moves from west to east, so I\u0026rsquo;m unsure about estimates on the west side of the map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png\" alt=\"\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147895-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10237-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it\u2019s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there\u2019s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate \u2013 meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10238-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (39\u00b0)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin\u2019s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39\u00b0 as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n\u2022\\t**Sage\u2019s response (37\u00b0)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37\u00b0 may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n\u2022\\t**Delana\u2019s response (43\u00b0)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43\u00b0 cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana\u2019s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46\u00b0 and 51\u00b0 measured temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Alex\u2019s response (53\u00b0)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana\u2019s response above, if there were a weather front just to the east of the 46\u00b0 and 51\u00b0 observed temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10239-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1687-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1686-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3.json b/src/public/offline-activities/precipitating-change-v4/lesson-3.json new file mode 100644 index 00000000..c484fd85 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3.json @@ -0,0 +1,1164 @@ +{ + "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Displaying Precipitation \u0026 Air Moisture Data", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143621, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application with Jackie Purcell", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how air moisture plays an important part in forming precipitation.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148013-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1765-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143588, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever been caught without your parka or boots when you needed them? Predicting rain or snow\u0026nbsp;is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EAs weather scientists, you will continue to explore weather maps. Now, you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number). The larger this number is, the more moisture is contained in the air.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPrecipitation symbol = raindrops\u003C/strong\u003E\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg\" alt=\"\" width=\"588\" height=\"141\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Precipitation and Air Moisture ", + "type": "Embeddable::Xhtml", + "ref_id": "147890-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 3: BUILDING RULES:\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students revisit the weather maps they constructed in Lesson 2 and add precipitation and air moisture data for additional time stamps to the weather maps to answer the question \\\"Where does it rain?\\\" Precipitation is a result of the complex interactions between temperature and moisture. Atmospheric scientists construct graphical displays of temperature and moisture content data to help them come up with rules to identify where precipitation occurs. \\n\\nThis lesson introduces a new way of utilizing the virtual simulation that allows students to start recognizing patterns and formalizing their rule statements with the data set they have been exploring in Lesson 2.\\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n* Explain the current weather conditions in their local context\\n\\n* Read weather maps using traditional symbols and codes (adding precipitation)\\n\\n* Use CT strategies (rule abstraction, rule development and rule testing) to develop a better understanding of how to model weather\\n\\nComputational Thinking (CT) skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. Students develop a general statement to answer the question \\\"Where does it rain?\\\"|\\n| Rule Abstraction | Developing a statement of how things work based on observed patterns. | Students make a generic statement to answer \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual model activity |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model.| The virtual model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10229-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (35 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Opening (5 mins)\\n**Activity 1 - Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (20 mins)\\n**Post-Assessment - Which Estimates Should We Trust? (10 mins)\\n\\n\\n### MATERIALS AND SET-UP\\n\\nThe materials and set up are repeated from Lesson 2 - Virtual Storm Technology and included below for your convenience.\\n\\nPer Research Team:\\n\\n* Marker\\n\\n* Fully charged and connected iPad/laptop \\n\\nPer Class:\\n\\n* Set up classroom grid\\n\\nWeather maps:\\n\\n* Display the 7 am, 11 am, and 3 pm completed gridded temperature map students created in Lesson 2, Activity 1 with colored sticky notes for temperatures.\\n\\nCity flags:\\n\\n* Place a printout of each of the Alaskan cities (Bettles, Galena, Nome, Noorvik, St. Mary\u2019s) in locations corresponding to the grid map for Alaska.\\n\\nIn the simulation:\\n\\n* As with the Virtual Storm from the previous lesson, run the simulation (starting at 7 am) and pause it at 3 pm. Students will only collect precipitation data for this activity.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10230-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 3.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10231-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1761-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143589, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "\u003Cp\u003EWould you change what you selected to wear? Yes or No\u003C/p\u003E\n\u003Cp\u003EIf yes, what would you change and why?\u003C/p\u003E", + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe map below shows the virtual storm that you have seen before. With the slider, you can see the storm at three times during one day. This map adds \u003Cem\u003Ehumidity\u003C/em\u003E and \u003Cem\u003Eprecipitation\u003C/em\u003E\u0026nbsp;data to the temperature data. Combining related data is called data aggregation.\u003C/p\u003E\r\n\u003Cp\u003ELook at the temperature and humidity data that is close to where the precipitation falls. Watch how the precipitation moves through the three times. Does the other data move too?\u0026nbsp;Can you see a pattern?\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EPrecipitation is shown with three raindrops:\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EThe air moisture and temperature data are shown this way:\u003Cimg class=\"\" src=\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/Temp-Moisture-Key.png\" alt=\"\" width=\"250\" height=\"173\" /\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Mapping Precipitation and Air Moisture with Temperature in the Virtual Storm", + "type": "Embeddable::Xhtml", + "ref_id": "147891-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "Location of Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"G-4\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"id\":\"2\",\"content\":\"G-5\",\"correct\":false,\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"id\":\"3\",\"content\":\"D-6\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"content\":\"D-2\",\"correct\":false,\"id\":\"aff2b1f4-8271-4aaa-8338-fa504931c966\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"A-4\",\"correct\":false,\"id\":\"64b333f5-f8be-4b50-af1f-080692afa946\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"B-7\",\"correct\":true,\"id\":\"fc847408-296f-44b2-8aed-7e305f86ea70\",\"choiceFeedback\":\"Correct!\"}],\"prompt\":\"\u003Cp\u003ESet the map to show the data at 3 pm. Check all cells listed below that have precipitation.\u003C/p\u003E\",\"enableCheckAnswer\":true,\"customFeedback\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2163-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Guiding Question #1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt is raining on the warmest cell on the map.\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2164-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Guiding Question #2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt is raining on the coldest cell on the map.\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2165-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1- Virtual Storm: Exploring Precipitation, Air Moisture, and Temperature\\nThis activity is a continuation of the Virtual Storm simulation and has a similar set-up to the Lesson 2 - Virtual Storm. \\n\\nKey additions in this activity include:\\n\\n* Reusing the 7 am, 11 am, and 3 pm weather map created in Lesson 2.\\n\\n* Pausing the simulation at 3 pm and completely filling in each square. \\n\\nAdditionally, this lesson provides students with an opportunity to explore and explain why it rains in some areas and not others. Students work in teams of weather scientists to collect precipitation data and look for patterns in rainfall, temperature, and air moisture content. Students use the Virtual Storm technology from the beginning, but focus on what is happening at one point in time (at 3 pm). Students then brainstorm all of the patterns they see in the variables of temperature, air moisture, and precipitation and then use those patterns to come up with a general statement (rule) to explain under what conditions rain occurs. Students apply the CT skills of **Data Aggregation** and **Data Abstraction** as they collect and visualize their rain data, but **Pattern Recognition** is the primary computational thinking practice in this Lesson. This sets the stage for the next activity, where students will use the patterns they discover to abstract a rule statement about where rain occurs.\\n\\n###Activity Breakdown\\n**1. Set the stage for the virtual storm with precipitation.** In their research teams, students will be responsible for collecting precipitation data for the region at 7 am (once), 11 am (once), and the entire 3 pm (multiple times). \\n\\n**2. Start the virtual storm with precipitation.** Students first collect and enter precipitation data for 7 am and 11 am but the virtual storm will stay at 3 pm and students will work to complete the map of the region for 3 pm. Students aggregate precipitation data on the 3 pm weather map on the wall. Have students abstract precipitation data by representing it on the map with a raindrop on top of the temperature sticky notes.\\n\\n**3. Pause the virtual storm at 3 pm.** Students explore simulated precipitation only for 3 pm. Research teams move around the room to different locations collecting rain data to complete the 3 pm weather map. \\n\\n**4. Class brainstorm of precipitation patterns.** Lead a class brainstorm, looking for and recognizing patterns in the data. Have the students record their thoughts for precipitation in the online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10232-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"Temperature and Precipitation Discussion Prompts\\n\\n* After the map is complete, have students record their ideas in their Student Notebooks. Encourage students to use the maps on the wall as they describe observed patterns. \\n\\n* For a list of possible class discussion questions, see below: \\n * Where is the rain on the map?\\n * Why do you think it is raining in some places and not others?\\n * Is there a relationship between temperature and precipitation?\\n\\n**Teacher Note**: Patterns should include some notion of precipitation happening in warm areas, and that the rain is clustered in an area and somewhat resembles a diagonal line. Keep in mind that the data they are collecting is a subset of the larger dataset they saw in Lesson 1, Activity 2 - Making an Initial Prediction. This process is a way to help them dive deeper into the data to help support a stronger prediction later in the unit. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10233-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"In this tutorial, you will learn how to guide students in using the virtual storm interactive to test the rules they have created. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials - Where does it rain virtual model?\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10234-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "Data Relationships", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow would you describe the relationship between temperature and precipitation? \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2166-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EOn the map below, click \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E, then use the slider to see the movement of the rain over three times of the day.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003ELook for patterns around where the rain falls. To see patterns, it may help to turn on or off the options of data, colors, and rain. For example, turn off \u003Cem\u003Eshow-data?\u003C/em\u003E and turn on \u003Cem\u003Eshow-colors?\u003C/em\u003E and \u003Cem\u003Eshow-rain?\u003C/em\u003E. Is it easier to see how temperature and precipitation move over time?\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149127-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Virtual Storm with Rain at Three Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": true, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97738-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144724, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation, Continued", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "name": "Guiding Question #3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt rains in cells that have an air moisture of 5 or below.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2171-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Guiding Question #4", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt rains in cells that have an air moisture of 10.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2172-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Conditions for Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow would you describe the relationship between air moisture AND temperature AND precipitation? There are 3 parts to this answer.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2173-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EThe map with temperature, air moisture, and precipitation appears again below. Look carefully for patterns and relationships between all three types of data: temperature, air moisture, and where precipitation occurs.\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149129-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97739-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143590, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Predicting Rain - First Try", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "\u003Cp\u003EYour teacher will lead a class discussion.\u003C/p\u003E\n\u003Cp\u003EPossible discussion questions:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; What was your prediction for the weather in Boston on November 7th at 7am?\u003Cbr /\u003E\u0026bull; What was your strategy that helped you develop your prediction?\u003C/p\u003E", + "sidebar_title": "Class Discussion", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe weather map of the virtual storm below shows temperature and air moisture data at 7pm. Use the relationships you just figured out between air moisture, temperature, and precipitation to try and predict where it will rain at 7pm.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "What Makes It Rain?", + "type": "Embeddable::Xhtml", + "ref_id": "147893-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1: Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (Continued)\\n\\n###Activity Breakdown\\n\\n**1. Set up Round 2 by leaving the Virtual Storm at 3 pm.** Explain to students that their new question is: \\\"Why is it raining in some locations and not others? Where does it rain?\\\"\\n\\n**2. Students explore and collect simulated air moisture content data in different spots at 3 pm to complete the weather map. **Air moisture is represented as a number between 1 (very dry air) and 10 (very moist air). Moisture content refers to how much water vapor is in the air. See discussion points below to help guide students through the process.\\n\\n**3. Class brainstorm of air moisture patterns.** See the Discussion Points for possible question prompts.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10235-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Air Moisture Content\\n* Temperature alone is not sufficient to fully answer the questions, \\\"Why is it raining in some locations and not others? Where does it rain?\\\" Another variable, such as air moisture content, is needed. \\n\\n* Briefly introduce the concept of air moisture content. Explain to the students that air contains microscopic water particles, called water vapor. Air moisture content refers to how much water vapor is in the air.\\n\\n* Reference possible students\u2019 past experiences with very moist air (e.g., in the shower or steam room) and/or very dry air (e.g., in a sauna or in the winter). The amount of water vapor is illustrated by an air moisture content number where 0 = very dry air and 10 = very moist air. Students may remember this concept from the data tables they received in Lesson 1.\\n\\n**Teacher Note**: The air moisture data students receive will already be abstracted, so no further abstraction is needed. It is expressed as a single number on a scale of 0 to 10, with 10 having the most water. This corresponds to mass of water per volume of air (i.e., g water/m\u003Csup\u003E3\u003C/sup\u003E air).\\n\\n###Exploration of Simulated Air Moisture Content at 3 pm. \\n* As research groups move around the room to different locations collecting air moisture data to complete the 3 pm weather map, encourage students to observe and share with each other where in the room the air is wettest, and where they guess it will likely be wettest before they check their instruments.\\n\\n###Air Moisture\\n* Lead a class brainstorm of air moisture patterns and have students record their ideas in their Science Notebooks.\\n* Encourage students to use the map on the wall as they describe observed patterns. \\n\\n* For a list of possible questions to guide your discussion, see below:\\n\\n * Where is the air wettest on the map?\\n\\n * Where is the air driest?\\n\\n * Do you see a relationship between air temperature and air moisture content?\\n\\n * Do you see a relationship between air moisture content and precipitation?\\n\\n**Teacher Note**: Students should come away with some notion of how temperature and air moisture seem to follow the same pattern (warm air = wet, cold air = dry), and that it only rains when the air is wet.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10236-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EList the coordinates of the cells in which you think it will rain. (Example: B-1, F-5...) Explain why you think it will rain in those cells.\u0026nbsp;\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2169-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "Virtual Storm at 7 pm - No Precipitation Shown", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2167-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143695, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148890-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"75d5130a-6c7b-45f6-80cd-22d7b2eba0e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cprecipitation\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2017-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How much rain is falling to the ground\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Amount or content of water in the air\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) The temperature at which rain will start to fall\",\"correct\":false},{\"content\":\"d) The ratio of the temperature and the wind direction\",\"correct\":false,\"id\":\"65903405-cdf8-4532-a239-e913395a8b36\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of \u201cair moisture\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2018-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It will rain when the air is very dry\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It will rain when the air is very wet\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) It will rain when the air moisture is between 7 and 9\",\"correct\":true},{\"content\":\"d) It will rain when the air moisture is between 5 and 7 \",\"correct\":false,\"id\":\"019a4ccd-da14-4e5f-9692-fe79bddc7c0f\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the relationship between air moisture and precipitation?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2021-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144723, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 7, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json new file mode 100644 index 00000000..faf4e219 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143598, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhat Are the Rules for Fronts and Precipitation?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147904-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10256-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10257-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10258-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1692-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1693-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json new file mode 100644 index 00000000..3d028c63 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143597, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EWhat Are the Rules for Fronts and Precipitation?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147903-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10253-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10254-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10255-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1690-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1691-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4.json b/src/public/offline-activities/precipitating-change-v4/lesson-4.json new file mode 100644 index 00000000..39d454e0 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4.json @@ -0,0 +1,861 @@ +{ + "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Building Rules", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143689, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how\u0026nbsp;making sense of the weather data helps in predicting\u0026nbsp;weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148014-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1766-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143593, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.\u003C/p\u003E\n\u003Cp\u003EExample: This rule has two parts that must happen to have a certain result. If it was a [ \u003Cstrong\u003Every nice summer\u003C/strong\u003E ] and if it is [ \u003Cstrong\u003EAugust\u003C/strong\u003E ], then there will be [ \u003Cstrong\u003Elots of berries to pick\u003C/strong\u003E ].\u0026nbsp;\u003C/p\u003E\n\u003Cp style=\"text-align: justify;\"\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg\" alt=\"\" width=\"472\" height=\"221\" /\u003E\u003C/p\u003E\n\u003Cp\u003EThink about developing a similar statement that could be used to determine where it will rain.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147899-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 4: BUILDING RULES\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students develop a rule for where it will rain and test their rule using a Virtual Model. This lesson supports students to build their understanding of how observations of natural phenomena (weather) can be generalized (rule abstraction) for computational modeling (rule testing and rule refinement) and predictive purposes. This lesson introduces new technology, a Virtual Model, that allows students to test rules with the dataset they have been exploring in Lesson 3. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n\\n\\nComputational thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | CT Skill Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students develop a general statement to answer the question, \\\"Where does it rain?\\\" |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed. | Students make a generic statement to answer, \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual Model activity|\\n| Rule Refinement | Modifying a rule to be more precise to work in the model. Precise (exact, careful about details) | The Virtual Model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10243-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (45 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Activity 1 - Rule Abstraction Conversation (20 mins)\\n\\n**Activity 2 - Refining and Testing Rules using a Virtual Model (25 mins)\\n\\n### MATERIALS AND SET-UP\\n\\nPer Student:\\n\\n* Science Notebooks\\n* Access to Student Online Activities\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10244-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 4.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10245-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143595, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Rule Abstraction (cont.)", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.\u003C/p\u003E\n\u003Cp\u003ETo make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.\u003C/p\u003E\n\u003Cp\u003EYou can practice making more specific rule statements by answering the questions below and testing them using the model.\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147901-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EUsing the following rule, which pair of grid squares (A, B, or C) will produce rain?\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png\" alt=\"\" width=\"70\" height=\"72\" /\u003E\u003Cbr /\u003EIF the upper square (the northwest square)\u0026nbsp;\u0026nbsp;is colder than the lower square by [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E5 or more degrees\u003C/span\u003E\u003C/strong\u003E ] AND IF the moisture of the lower square is [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E7 or more\u003C/span\u003E\u003C/strong\u003E ] THEN it rains in the lower square.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD\" width=\"424\" height=\"182\" /\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "If / Then Rule", + "type": "Embeddable::Xhtml", + "ref_id": "149130-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "name": "If / Then Rule 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":true},{\"id\":\"3\",\"content\":\"C.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhich square will have rain according to this rule?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2174-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "If / Then Rule 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":true},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. \",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhich square will have rain according to the following rule: \u003C/p\u003E\\n\u003Cp\u003E\u0026quot;IF the upper square (the northwest square) is colder than the lower square by [2 degrees] AND IF the moisture of the lower square is [8 or above] THEN it rains in the lower square.\u0026quot;\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2175-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "If / Then Rule 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C.\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhich square will rain according to the following rule:\u003C/p\u003E\\n\u003Cp\u003E\u0026quot;If the upper square (the northwest square) is colder than the lower square by [5 degrees] AND IF the moisture of the lower square is [6] THEN it rains in the lower square.\u0026quot;\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2176-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143596, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Finding the Rule with a Model ", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "name": "Best Rule", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat is the best and final rule to fit where it actually rains in our virtual storm? (Hint: write the sentence in the model, \u0026quot;If the square to the northwest is colder by at least _____ AND IF the air moisture is at least _____ THEN it rains.\u0026quot;)\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2177-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "How Well Does the Rule Work", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDid your rule fit the actual precipitation 100% for all the different times? Please explain why or why not.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2178-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Refining and Testing a Rule with a Virtual Model\\n\\n**Objective:** To deepen students\u2019 understanding of rule refinement with a virtual model that makes it easy to experiment with two varying quantities -- temperature difference and air moisture content. Students use this understanding to solve the challenge of finding the best rule that predicts where precipitation occurs.\\n \\n**1. Encourage students to explore the model.** Ask students to explore all the features of the model. When experimenting with setting rule values, they should try the extreme settings (maximums and minimums) as well as more moderate settings. After 5 to 10 minutes of independent work, let them **tell you** what they have discovered. They might find: \\n\\n* Weather data for five different times with each data set separated by four hours. \\n* Grid squares showing moisture in the upper right corner and temperature in the lower left. \\n* Actual rainfall indicated with the light blue drops. \\n* When \\\"show-results-of-the-rules?\\\" is selected, check marks show which parts of the rule are true. \\n* Check marks appear for each part of the rule when true: orange check for the temperature difference rule and green checks for the moisture rule.\\n* The \\\"Show Rain with these Rules\\\" button displays dark blue drops only where both the temperature difference rule and the moisture rule are true. \\n\\nA short discussion about the following, might be valuable before students go on to the challenge.\\n* Why are there no check marks on the top and left side of the grid? (The temperature rule can\u2019t be calculated because there is no square to the northwest in those rows.)\\n* Is there a rule that makes it rain everywhere (not counting the top and left rows)? Or nowhere?\\n* How did you explore the rules? \\n* How did you test them? \\n* What did you learn? (See if students found a technique for exploring the model. Students might benefit from hearing each other\u2019s strategies.)\\n\\n**2. Challenge: Find the best rule.** Remind students that they are pursuing this question, \\\"Where does it rain?\\\" Or more specifically, \\\"What conditions of temperature and moisture result in rain?\\\" \\n\\nHave students test their rule to find the best fit between the real data (light blue) and the data produced by the rule (dark blue) for the five different times (7 am, 11 am, 3 pm, 7 pm, and 11 pm). They will record their findings in the questions that follow the model.\\n\\nNotes: Try to let students discover that there is no perfect rule. That is, even the best rule may make rain in a square or two that had none or produce rain where there was none. Students will have to work through this. If they find it frustrating, let them know the rule doesn\u2019t need to be perfect. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10248-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Lead a class discussion at the end of the activity. Please see possible discussion points below:\\n\\n* Did working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\n* Would the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\n* Do you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\n* Even if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nDid working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\nWould the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\nDo you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\nEven if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nOptional discussion question, if you have time:\\nThe 7am, 11am, 3pm, and 7pm data matches the Virtual Storm event that you created in Lesson 2 and in Lesson 3. Is the rule that you developed in this activity different than the one in Lesson 3. How have they changed?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10249-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Alaskan Native Thoughts on Climate Change\\\", The International Polar Year, Sep 2, 2008, Run Time:02:09, http://www.ipy.org/index.php?/ipy/multimedia/\u0026view=1869\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10250-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Passport To Knowledge: Polar Palooza\\\", http://passporttoknowledge.com/polar-palooza/video/native01a.mp4\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10251-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this tutorial to learn how students will be interacting with the Virtual Model to test and refine their rule statements to answer the question, \\\"Where does it rain?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: Where Does It Rain?, 2019, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10252-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EPress \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E. Then, use the sliders to refine your precipitation rule until you have found the best fit between the actual precipitation shown in light blue and the precipitation predicted by the rule in dark blue. Test your rule by clicking \u003Cem\u003EShow Rain with These Rules\u003C/em\u003E.\u003C/p\u003E\r\n\u003Cp\u003ETry your rule with all of the data sets.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149131-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 800, + "native_width": 800, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/precip-rule-ak-v5.html", + "type": "MwInteractive", + "ref_id": "96960-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143694, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148891-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Simplifying data to make it easier to interpret and find patterns\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) A type of art that makes it difficult to see what the artist is trying to show\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) A piece of something\",\"correct\":false},{\"content\":\"d) When you remove a sliver from your finger\",\"correct\":false,\"id\":\"3a59d5ea-7526-46e7-b468-ff8612b9852d\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cabstraction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2022-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) If the square to the north-west is colder by at least 3 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) If the square to the north-west is colder by at least 5 and if the moisture is at least 9 then it will rain.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) If the square to the north-west is colder by at least 7 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"content\":\"d) If the square to the north-west is colder by at least 5 and if the moisture is at least 7 then it will rain.\",\"correct\":true,\"id\":\"d2ba7a47-fe6d-4a57-a07a-4aa83f0af8e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the best rule to answer the question, \u201cWhere will it rain?\u201d\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2023-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To keep children following the right behaviors\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To see the patterns in data that would allow a person to make a more accurate prediction\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) To explain the historical trends that occur in an area\",\"correct\":false},{\"content\":\"d) To measure the amount of rain that has fallen after a storm\",\"correct\":false,\"id\":\"6f5b2205-979f-4ca2-a12d-6389c5bf10a0\"}],\"prompt\":\"\u003Cp\u003E What is the purpose of a rule for predicting weather?\u003C/p\u003E\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2024-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json new file mode 100644 index 00000000..6f90a926 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Post-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143619, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Represent Wind Direction?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EThe word represent means to let one thing stand for another. For example, some people use the symbol of a\u003C/p\u003E\r\n\u003Cp\u003Eheart [\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png\" width=\"27\" height=\"23\" /\u003E] to represent (or stand for) love. \u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.\u003C/p\u003E\r\n\u003Cp\u003EHere are some different options Ms. Tevuk\u0026rsquo;s students are considering for representing wind direction.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull;\u0026nbsp;\u003Cstrong\u003EWind direction represented with degree number (between 0 and 360) based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png\" width=\"503\" height=\"230\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with letters based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png\" width=\"509\" height=\"234\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with arrows\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png\" alt=\"\" width=\"177\" height=\"181\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with different colors\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png\" alt=\"\" width=\"173\" height=\"177\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable style=\"border: solid 1px #000;\" cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use the \u003Cstrong\u003Eletters for the computer model\u003C/strong\u003E because there are only 8 options, so the computer will have simple information to calculate with and it won\u0026rsquo;t get stuck computing. We can use the \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because that way you can see which way the wind is going.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png\" width=\"267\" height=\"183\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png\" alt=\"\" width=\"270\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003ELet\u0026rsquo;s use \u003Cstrong\u003Enumber of degrees on the computer model\u003C/strong\u003E because computers do calculations with numbers. I think we should use \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because they make the pattern of wind direction easy to see.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png\" width=\"269\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png\" alt=\"\" width=\"271\" height=\"180\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Enumber of degrees for both the computer model and the map\u003C/strong\u003E because computers do calculations with numbers and our map should show what the computer calculated.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png\" width=\"257\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png\" width=\"253\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Ecolors for both the computer model and the map.\u003C/strong\u003E Colors are good for the map because it\u0026rsquo;s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png\" alt=\"\" width=\"275\" height=\"193\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png\" alt=\"\" width=\"275\" height=\"190\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147932-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1702-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning. \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1703-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17148-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10301-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10302-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10303-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json new file mode 100644 index 00000000..1ca9f508 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json @@ -0,0 +1,285 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Pre-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143617, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Represent Wind Direction?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EThe word represent means to let one thing stand for another. For example, some people use the symbol of a\u003C/p\u003E\r\n\u003Cp\u003Eheart [\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png\" width=\"27\" height=\"23\" /\u003E] to represent (or stand for) love. \u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.\u003C/p\u003E\r\n\u003Cp\u003EHere are some different options Ms. Tevuk\u0026rsquo;s students are considering for representing wind direction.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull;\u0026nbsp;\u003Cstrong\u003EWind direction represented with degree number (between 0 and 360) based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png\" width=\"503\" height=\"230\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with letters based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png\" width=\"509\" height=\"234\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with arrows\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png\" alt=\"\" width=\"177\" height=\"181\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with different colors\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png\" alt=\"\" width=\"173\" height=\"177\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable style=\"border: solid 1px #000;\" cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use the \u003Cstrong\u003Eletters for the computer model\u003C/strong\u003E because there are only 8 options, so the computer will have simple information to calculate with and it won\u0026rsquo;t get stuck computing. We can use the \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because that way you can see which way the wind is going.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png\" width=\"267\" height=\"183\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png\" alt=\"\" width=\"270\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003ELet\u0026rsquo;s use \u003Cstrong\u003Enumber of degrees on the computer model\u003C/strong\u003E because computers do calculations with numbers. I think we should use \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because they make the pattern of wind direction easy to see.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png\" width=\"269\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png\" alt=\"\" width=\"271\" height=\"180\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Enumber of degrees for both the computer model and the map\u003C/strong\u003E because computers do calculations with numbers and our map should show what the computer calculated.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png\" width=\"257\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png\" width=\"253\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Ecolors for both the computer model and the map.\u003C/strong\u003E Colors are good for the map because it\u0026rsquo;s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png\" alt=\"\" width=\"275\" height=\"193\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png\" alt=\"\" width=\"275\" height=\"190\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147929-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1698-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning. \u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1699-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, { + "choice": "Sage", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17146-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10295-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10296-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10297-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5.json b/src/public/offline-activities/precipitating-change-v4/lesson-5.json new file mode 100644 index 00000000..25d504a3 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5.json @@ -0,0 +1,1164 @@ +{ + "description": "\u003Cp\u003EIdentifying Air Masses: Where does the air come from?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Identifying Air Masses", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143690, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how wind direction\u0026nbsp;impacts different air masses.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148015-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1767-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143599, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EHave you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the\u0026nbsp;weather\u0026nbsp;- wind! The direction of the wind can give you clues about what\u0026nbsp;weather\u0026nbsp;to expect. And when the wind changes its direction drastically, interesting\u0026nbsp;weather\u0026nbsp;events can happen.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003EIn this lesson you will explore how air masses interact by\u0026nbsp;setting up a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more\u0026nbsp;weather\u0026nbsp;stations. In your Science Notebook, go to Lesson 5 to locate the following information:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Map with Additional Weather Stations and Data Tables\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Readings \u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;0 Alaskan Stations 7 am Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147905-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 5: IDENTIFYING AIR MASSES\\n\\n**WHERE DOES THE AIR COME FROM?**\\n\\nIn this lesson, students investigate the role that wind plays in determining the weather and are introduced to ways to identify and define an air mass. Air masses have a similar range of weather variables (temperature and moisture), have indistinct boundaries, and are categorized by the range of weather variables within them. The air within an air mass is constantly moving and precipitation can occur where air from different air masses mixes/interacts. Scientists use models to predict where precipitation will occur based on where different air masses interact, the type of air in each, and the movement of that air.\\n\\nTo begin to identify air masses, students will do a hands-on wind table activity, and get new temperature, air moisture content, and wind direction data for five additional weather stations. As in Lesson 4, the students once again construct a set of rules through a series of activities that allow them to uncover patterns in the data, investigate the mechanisms for these patterns, and abstract a rule that describes the relationship between wind direction, its associated air mass, and the resulting precipitation. \\n\\n###LEARNING GOALS\\nStudents will be able to:\\n\\n* Identify and define an air mass\\n\\n* Explain that air masses are defined by where they come from\\n\\n* Explain the role of wind in weather events\\n\\n* Identify where on a map two different masses are interacting/mixing\\n\\n* Develop a rule for how wind moves and test the rule with multiple kinds of air masses\\n\\n* Develop a rule to express the relationship between weather components (temperature and moisture) and air masses\\n\\nComputational Thinking (CT) skills introduced in this lessons can be found in the table below:\\n\\n| CT Skill | Definition |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed |\\n| Rule Testing | Investigating whether a rule will still be true in different situations |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model |\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10259-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (90 mins)\\n\\n**Key Activities:**\\n\\nLesson 5: Alaska Mainland - Identifying Air Masses\\n\\n* Activity 1- What is an Air Mass (45 mins)\\n\\n* Activity 2 - What happens when air masses collide (10 mins)\\n\\n* Activity 3 - How do air masses affect precipitation? (25 mins)\\n\\n* Post-Assessment - What Are the Rules for Fronts and Precipitation? (10 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - What is an Air Mass?\\n\\nPer Research Team:\\n\\n* Direct students to Lesson 5 in their Science Notebooks to find the following information:\\n * Lesson 5, Activity 1: Wind Table Instructions and Questions\\n * Lesson 5, Activity 2: Additional Weather Station Data\\n * Lesson 5, Activity 2: Weather Stations 7 pm Readings\\n * Lesson 5, Activity 2: Weather Stations 7 pm Interpolated\\n * Lesson 5, Activity 2: 7 pm Weather Station Data and 7 pm Radar Map\\n * Lesson 5, Activity 2: 7 am Weather Station Data \\n\\nPer Class:\\n\\n* Set up on one demonstration table that students can gather around: a wind fan, a piece of paper with a wind rose taped to the table, and a single weather vane. See below for a top-down view. \\n\\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5WIndTablesTopDownView1.jpg\\\" width=\\\"400\\\" height=\\\"350\\\"\u003E\\n\\n* To print the wind rose, click [here](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg) to download. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10260-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 5.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10261-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143600, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EMeasuring Wind with the Compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EOne way wind direction\u0026nbsp;can be measured is with\u0026nbsp;a weather\u0026nbsp;vane or air socks. When the wind blows, the\u0026nbsp;weather\u0026nbsp;vane rotates and lines up with the path the air is flowing. So,\u0026nbsp;wind direction\u0026nbsp;is determined by what direction the wind is blowing and measured in degrees (\u0026deg;).\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg\" alt=\"\" width=\"323\" height=\"328\" /\u003E\u003C/p\u003E\n\u003Cp\u003EIn this activity, you will use a Wind Table to map the movement of air on a grid representing a region in Alaska. Go to your Science Notebooks, Lesson 5, page 21, for further instructions and to record your observations.\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EWind Table\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png\" width=\"576\" height=\"510\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147906-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"\\n###Activity 1 - **What is an Air Mass?**\\nIn this activity students explore the patterns of air movement within and between air masses. Using a hands-on \u201cwind table,\u201d they engage in a tangible interaction with wind. By leveraging patterns from the previous activity dataset and the wind table, they will discover that when two air masses meet, the air converges. Weather scientists refer to these regions as fronts. \\n\\n###Wind Table Directions\\n * **1.Introduce the Wind Table.** Wind is one of the first things that atmospheric scientists look at when investigating the weather, but it can be difficult to understand by just looking at data and maps. A hands-on model is helpful to investigate a phenomenon like the wind.\\n\\n\\n * **2.Assign teams:** Assign research teams a Wind Table position number, either #1 or #2. \\n * **3.Wind tunnel position:** Have students place wind tunnel #1 and wind tunnel #2 according to the diagram in their Science Notebook for their assigned Team #.\\n * **4.Reminders:** Read over the things to keep in mind on page 21 in the Science Notebook, together as a class:\\n * **BE CAREFUL NOT TO PUT YOUR FINGERS NEAR THE FAN**\\n * Graph paper represents a region.\\n * A wind vane can be placed anywhere on the graph paper to determine what direction the wind is coming from.\\n * Record the wind direction by drawing an arrow in the direction the wind vane is pointing. (Recall that wind is always recorded showing the direction the wind is coming from.) If there is not a clear determination where the wind is coming from, then leave the square blank.\\n * Place a Styrofoam ball on the wind table to see the interaction between the two air masses.\\n * **5.Analyze air mass interactions** \\n\\n * Once all of the groups have finished mapping the wind direction, ask the students to determine the boundary of the two air masses by drawing a circle around the different air masses. \\n\\n * Ask the students if there was anywhere on the grid that they either had trouble deciding what direction to draw their arrow. Some students might remark that the wind vane wobbles or spins in the region between the two distinct air masses. Instruct the students to identify the diagonal region between the two air masses and circle this area with a green marker. \\n\\n* **6.Connecting the Wind Table to the interpolated map.** Ask students to compare Alaska Weather Stations: 7 pm Interpolated data with the wind map they created on their Wind Table. Lead a class conversation. See possible Discussion Points below. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10262-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Mass Properties \\n\\nTo a weather scientist, an air mass is a body of air with similar temperature and air moisture content. (Note that scientists also include pressure, but pressure is not covered in this unit.)\\n\\n###Wind Table Demonstration \\nThe compass rose describes the direction the wind is blowing in degrees. Wind coming directly from the South has a direction of 180\u00b0, from the East 90\u00b0, from the North 360\u00b0, etc. Place the fan to the \u201cNorth\u201d of the weather vane and turn it on. Move the weather vane so that it's at the center of the rose and have students read the wind direction from the rose. Then, move the fan to other locations. Ask students where you should move the fan to get a wind direction of, for example, 180\u00b0, 90\u00b0, 45\u00b0, etc. Move the fan to check their predictions. \\n\\n**Teacher Note:** Wind direction is determined by what direction the wind is coming from. This is a consequence of how it is measured. A weather scientist says, \u201cwinds coming from the northeast\u201d not \u201cwinds heading southwest.\u201d This distinction becomes very important when trying to map the flow of air over a region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10263-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143601, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EIDENTIFYING AIR MASSES\u003C/p\u003E\r\n\u003Cp\u003EIn Lesson 5 of your Science Notebook on pages 21-23, you have additional data weather station data and maps that show you the direction of the wind. On page 22, you will find a map that shows you the 7 pm reading from the additional weather stations. The arrows on the map represent the\u0026nbsp;wind direction. The data on page 23 of your Science Notebook, \"Weather Stations 7 pm Interpolated\" comes from an\u0026nbsp;interpolation\u0026nbsp;of wind direction\u0026nbsp;across the mainland of Alaska at 7 pm. See map below. Using the map on page 23, draw a line that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. It is your job to determine where you see that change in the\u0026nbsp;wind direction.\u003C/p\u003E\r\n\u003Cp\u003EStrategy for Identifying Two Air Masses:\u003C/p\u003E\r\n\u003Cp\u003E1. Make Sense of the Map:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each row and see if the arrows change direction as you move across the row.\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each column and see if the arrows change direction as you move down the column.\u0026nbsp;\u003Cbr /\u003E2. Identify where you are going to place your line.\u0026nbsp;\u003Cbr /\u003E3. Draw your line on your paper map.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147907-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhy did you draw the line there?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208885-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Identifying Air Masses and Fronts", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4.html", + "type": "MwInteractive", + "ref_id": "97692-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143602, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThe line that you drew across your map represents a boundary between two\u0026nbsp;air masses. An air mass is a body of air with similar temperature and\u0026nbsp;air moisture\u0026nbsp;content. Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an\u0026nbsp;air moisture\u0026nbsp;content number at the bottom of the square.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg\" width=\"212\" height=\"292\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147908-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EDevelop a way to define the two air masses using the temperature and\u0026nbsp;air moisture\u0026nbsp;content values provided on the Alaskan Stations: Interpolated at 7 pm Map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg\" width=\"651\" height=\"429\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDefined Air Masses for the Alaska Mainland at 7 pm\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "DEFINING AIR MASSES", + "type": "Embeddable::Xhtml", + "ref_id": "147909-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cstrong\u003EAir Mass #1 Properties\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETemperature: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "colder", + "is_correct": false, + "prompt": "" + }, { + "choice": "warmer", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17140-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\" width=\"321\" height=\"88\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAir moisture: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "more moist", + "is_correct": false, + "prompt": "" + }, { + "choice": "more dry", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17141-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cstrong\u003EAir Mass #2 Properties\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETemperature: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #2 over land is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "colder", + "is_correct": false, + "prompt": "" + }, { + "choice": "warmer", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17142-Embeddable::MultipleChoice" + }, + "section": null + }, { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\" alt=\"\" width=\"354\" height=\"99\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAir moisture: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #2 is:\u003C/p\u003E", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [{ + "choice": "more moist", + "is_correct": false, + "prompt": "" + }, { + "choice": "more dry", + "is_correct": false, + "prompt": "" + }], + "type": "Embeddable::MultipleChoice", + "ref_id": "17143-Embeddable::MultipleChoice" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143603, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EFronts\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EThe region between two different air masses is called a\u0026nbsp;\u003Cstrong\u003Efront.\u003C/strong\u003E Weather scientists are very interested in fronts because they are where the\u0026nbsp;weather\u0026nbsp;can change. Sometimes this change is very sudden.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147910-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EGo to page 24 in your Science Notebook and compare the 7 pm interpolated map and the 7 pm radar map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg\" alt=\"\" width=\"860\" height=\"300\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDiscuss with your research team and write a general statement that answers the question, \u0026ldquo;How do air masses affect where it rains?\"\u0026nbsp;\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147911-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Where is the front? Where is it raining? How do they compare?\u003Cbr /\u003E\u0026bull; How does the location of the precipitation on the radar map compare to the warm air mass, the cold air mass, and the front?\u003Cbr /\u003E\u0026bull; What is the air like where it is raining?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow do air masses affect where it rains?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208886-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "content": "\u003Cp\u003EGo to page 25 in your Science Notebook and work with you research team to make a prediction for where you think it could rain at 7 am by drawing on the 7 am weather station map in your notebook.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png\" width=\"437\" height=\"263\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAlaska Stations: Interpolated at 7 am\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147912-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EExplain why you think it could rain in the area you selected.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208887-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Masses\\n\\nPossible discussion questions:\\n\\n* How do we identify air masses? (Responses should center on temperature, moisture and wind direction.)\\n\\n* What have you learned about the wind?\\n\\n* What questions do you still have?\\n\\n* Why do you think the wind is important in understanding the weather?\\n\\n\u2022 Are there any connections between the location of the air masses, fronts and precipitation? \\n\\n\u2022 Why do you think it is raining in some places and not others?\\n\\n**Teacher note:** Because air is invisible, students tend to have a lot of misconceptions about it. For example, the idea that air is a substance that can move is central to this lesson. It is easy to assume that students understand this concept when they may not. Asking probing questions can help bring their preconceptions to the forefront. The wind table will help students by giving them a concrete experience.\\n\\n###Describing the Front\\n\\n**Teacher note:** Student responses should be in terms of the actual movement of air and not just wind directions. The front is a particularly important area as students should identify it as a place where warm and cold air from the two air masses is coming together or mixing. Students will need a solid understanding of this concept as it will be revisited in the next lesson when they look at how fronts move over a region. \\n\\n###What is Happening at the Front\\n\\n**Teacher Note:** Students will likely notice that there is precipitation outside the area of the front and there are areas along the front that don\u2019t show precipitation. Make note of these discrepancies and remind them that, as we have seen before, we may not have all of the information to explain everything that we see. Some of their observations will be addressed in Lesson 5.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10264-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143604, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding (cont.)", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYou have made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am. The radar image shows where it was actually raining at 7 am.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png\" width=\"678\" height=\"500\" /\u003E\u003C/p\u003E\n\u003Cp\u003ERadar Image for 7 am\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147913-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow accurate was your prediction?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208888-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003ELook back at your original rule for the question, \u0026ldquo;How do air masses affect where it rains?\u0026rdquo; Using what you learned with the 7 am data, revise your rule.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208889-Embeddable::OpenResponse" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143605, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Air masses and precipitation", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWhen you feel the wind blow on your face, you are feeling air from another place. Sometimes it feels cold; sometimes it feels warm. The wind is what moves air. Weather scientists use\u0026nbsp;wind direction\u0026nbsp;to distinguish multiple air masses. What happens at the boundary of those two air masses? You will explore that question using a new Virtual Model. \u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147914-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EThis model shows wind as moving arrowheads and precipitation as green circles. There are two air masses. Identify where the front is.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EThen, by trying different settings of the temperature and moisture, see if you can make up a rule for what conditions produce precipitation along the front, and on which side of the front the precipitation will occur.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EStart by pressing \u003Cstrong\u003ESetup\u003C/strong\u003E and \u003Cstrong\u003ERun\u003C/strong\u003E. As you change temperatures and moisture settings you may want to press \u003Cstrong\u003ESetup\u003C/strong\u003E occasionally to start fresh. Be sure to discuss what you find with your research team.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147915-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe the position of the front, and explain how you know this.\u003C/p\u003E\r\n\u003Cp\u003EYou may use city names as landmarks.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208890-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Look at the temperature values for Air Mass 1 and Air Mass 2\u003Cbr /\u003E\u0026bull; Look at the moisture values for Air Mass 1 and Air Mass 2\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat are the conditions in the model that result in precipitation happening along a front?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208891-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Is the precipitation happening more on the colder side of the front?\u003Cbr /\u003E\u0026bull; Is the precipitation happening more on the warmer side of the front?\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe specifically where the precipitation happens within the front.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208892-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003EMake sure to use precise language and include both temperature and moisture values.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EFinalize your rule statement for \u0026ldquo;How do air masses affect where it rains?\u0026rdquo;\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208893-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 3 - How Do Air Masses Affect Precipitation? Virtual Model\\n\\n**Objective:** To build students\u2019 rule refinement skills by experimenting with a model to figure out its built-in weather rules. In this model, precipitation falls under a variety of conditions that can be set by changing temperatures and moisture for two air masses. \\n\\nStudents can vary the temperature and moisture of two air masses in order to better understand how interacting air masses create patterns of rain at a front. Through this process, students will come up with an even more robust rule for predicting rain that involves interacting air masses. The specific computational thinking practice highlighted and practiced in this activity is **Rule Refinement**.\\n\\n**1. Class discussion about air mass properties.**Use the Alaska Weather Stations: 7am Interpolated map! [](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg) to remind students of the properties of the air masses in their regional weather system. See Discussion Points below for possible prompts. \\n\\n**2. Set up the model challenge.** \\n\\n* Have students recall the rule they developed to answer the question \u201cHow do air masses affect where it rains?\u201d \\n\\n* Students will use the Lesson 5 virtual model to help refine their rule.\\n\\n**3. Exploring the Virtual Model.** \\n\\nIntroduce the task, and give students time to explore the model. Then let them tell you what they discovered. They may notice:\\n\\n * The properties of the incoming air can be changed using the sliders on the left and bottom.\\n\\n * The direction of the wind can be seen with arrows and trails that can be turned on or off.\\n\\n * Precipitation appears as green circles with bigger circles meaning heavier rain.\\n\\n * Color of arrows correspond to temperature (Red = Warm, Blue = Cold, Purple = In Between)\\n\\n * Size of arrows correspond to air moisture (Small = dry, Large = moist or humid)\\n\\nYou may want to point out that\\n\\n * Even though the air in the model moves, the model shows airflow for a certain time. Time does not change.\\n\\n**4. Experiment with the Model to find the Rule**\\n\\nTell students that this model has a built-in rule for precipitation made by the model\u2019s programmer. Students\u2019 challenge is to discover the rule by experimenting with the model. \\n\\n * Students may find it helpful to express their experiments comparing warmer or colder temperatures and moister or drier moisture values instead of specific temperatures or air moisture values.\\n\\n * Give students time to play with the model and record their understanding of the model rule design in the questions that follow.\\n\\nNOTE: This is a fairly sophisticated weather model. Don\u2019t expect that students will discover the full precipitation rule. However, students should discover that the front runs up from the southwestern corner through Bethel and Anchorage with one air mass coming down from the northwest and the other up from the south and southwest. They may discover that generally, precipitation occurs along the front if there is a difference in temperature between the two air masses, and tends to form on the warmer side of the front. Although not always true, students will also see that precipitation forms other places than at the front. If the air masses are quite dry they may not produce precipitation. On the other hand, the warmer the air, the more moisture it can hold before precipitation appears. Very warm air can hold a lot of moisture producing a humid day without any rain.\\n\\nIf students are having trouble making rain, have them try a more systematic approach where they vary just one slider a step at a time to see the effect on precipitation. Be sure they know they have to wait a little while to see the effect of a change as the settings only affect the entering wind. Refreshing the screen by pressing Setup is often helpful. The point of this exercise is to see how well students can react to data and test as many options as possible. How deep is their thinking?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10265-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"After students have completed the questions on this page, project the model for the class, if possible. Ask students to discuss what they noticed about the model and what they learned from experimenting with it. The model is complex so there can be many viewpoints. The objective of this is to have students feel that they can learn from the model themselves. All observations are valid and up for discussion.\\n\\nPossible topics for discussion:\\n* It may be most valuable to discuss the questions student's answered on this page. An extended discussion could come from the question below.\\n\\n* What do the sizes and colors of the wind arrowheads mean? (The redder the warmer; the bluer the cooler; the larger the more moist; and the smaller the drier.)\\n\\n* Does precipitation fall only near the front? (No, it can fall where the arrowheads converge or come closer together.)\\n\\n* If the south settings and the west setting are the same, is there a front? (No, but the air may still converge.)\\n\\n* Do you see precipitation even where there is no front? What is a rule for it forming? (This is a little hard to figure out. By setting a high moisture level and then scanning through the temperatures, students can see that there are some intermediate temperatures that produce a lot of precipitation. At high temperatures, the air holds a lot of moisture; at low temperature the air holds little moisture.)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10266-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video to learn how students will use the Lesson 5 Virtual Model to test and refine their rule for, \\\"How do air masses affect precipitation?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: How Do Air Masses Affect Precipitation?, 2020, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10267-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Lesson 5:Air Mass Model", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/lesson-4-ak-v3.html", + "type": "MwInteractive", + "ref_id": "96961-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143693, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148892-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Can be determined using tools such as a weather vane, flag, or windsock\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Described by using the direction that the wind came from\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Described by using the direction that the wind is going to\",\"correct\":false},{\"content\":\"d) Only A and B\",\"correct\":true,\"id\":\"de903f5f-840c-40c0-91db-73c33017a515\"},{\"content\":\"e) Only A and C\",\"correct\":false,\"id\":\"3852ac5d-832a-4558-a526-1729c4a02a20\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of \u201cwind direction\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2027-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A body of air with similar temperatures and air moisture content\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Where the weather begins\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) An air mass that is very dry with calm weather.\",\"correct\":false},{\"content\":\"d) The area between two colliding air masses of different temperatures that result in a change in weather.\",\"correct\":true,\"id\":\"9c06c9a6-3906-4afb-bdb1-066b8d22ad43\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cfront\u201d?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2029-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A measurement of the weight of the air.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) A body of air with similar temperatures and air moisture content.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) A piece of equipment that shows the direction the air is moving.\",\"correct\":false},{\"content\":\"d) The line between two fronts where the wind changes direction.\",\"correct\":false,\"id\":\"adf51964-b089-4d02-92c4-8ba5ddd87113\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is an air mass?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2030-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Compass rose and degree directions always tell where the wind is coming from.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Arrows always point where the wind is going.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Compass rose and degree directions always tell where the wind is going.\",\"correct\":false},{\"content\":\"d) Arrows always point where the wind is coming from.\",\"correct\":false,\"id\":\"4dcfa49c-9d65-44c8-ba59-30ad0232f898\"},{\"content\":\"e) Both A and B\",\"correct\":true,\"id\":\"cf4fa7b4-5048-40c0-acbe-478fffa79243\"},{\"content\":\"f) Both C and D\",\"correct\":false,\"id\":\"1dcfe310-0d3d-4879-bf47-0158c1310a6a\"},{\"content\":\"g) Both B and C\",\"correct\":false,\"id\":\"7ddeb9e9-b680-4974-8ed5-fc7aaeea1846\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EHow do meteorologists talk about the wind direction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2031-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) The colder drier air mass\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The colder wetter air mass\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The warmer wetter air mass\",\"correct\":true},{\"content\":\"d) The warmer drier air mass\",\"correct\":false,\"id\":\"cfed3538-0de4-4b54-8414-57afc6d5a849\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhen a front forms with the right conditions for precipitation, which air mass does the precipitation fall in?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2032-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json new file mode 100644 index 00000000..0c6e5d88 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143611, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Do We Make An Accurate Model to Predict Weather?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe need to run the model longer. The longer you run a computer model the better the prediction will be.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThere\u0026rsquo;s no way to make a computer model that can predict the weather. Computer models aren\u0026rsquo;t the real world, so they can\u0026rsquo;t predict what will happen in the real world.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules and testing the model predictions using Alaska weather data. That way we\u0026rsquo;ll know the model works.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147922-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10282-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10283-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n\u2022\\t**Delana\u2019s response (computer models can\u2019t predict the weather)** suggests the perspective that if you can\u2019t predict something perfectly then your model really doesn\u2019t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, \u201cthey are just models, so they don\u2019t really tell us what\u2019s going to happen in the real world.\u201d \\n\\nStudents who choose Delana\u2019s response could use support in developing understanding that computer models don\u2019t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow\u2019s weather at all. Students who choose Delana\u2019s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be \u201cgood enough\u201d to serve a purpose.\\n\\n###Middle Level \\n\u2022\\t**Alex\u2019s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn\u2019t the problem. \\n\\nStudents who choose Alex\u2019s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n\u2022\\t**Kalin\u2019s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it\u2019s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn\u2019t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n\u2022\\t**Sage\u2019s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model\u2019s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one\u2019s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10284-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1696-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1697-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json new file mode 100644 index 00000000..0c78df5a --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json @@ -0,0 +1,248 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143610, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow Do We Make An Accurate Model to Predict Weather?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe need to run the model longer. The longer you run a computer model the better the prediction will be.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThere\u0026rsquo;s no way to make a computer model that can predict the weather. Computer models aren\u0026rsquo;t the real world, so they can\u0026rsquo;t predict what will happen in the real world.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules and testing the model predictions using Alaska weather data. That way we\u0026rsquo;ll know the model works.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147921-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10279-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10280-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n\u2022\\t**Delana\u2019s response (computer models can\u2019t predict the weather)** suggests the perspective that if you can\u2019t predict something perfectly then your model really doesn\u2019t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, \u201cthey are just models, so they don\u2019t really tell us what\u2019s going to happen in the real world.\u201d \\n\\nStudents who choose Delana\u2019s response could use support in developing understanding that computer models don\u2019t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow\u2019s weather at all. Students who choose Delana\u2019s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be \u201cgood enough\u201d to serve a purpose.\\n\\n###Middle Level \\n\u2022\\t**Alex\u2019s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn\u2019t the problem. \\n\\nStudents who choose Alex\u2019s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n\u2022\\t**Kalin\u2019s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it\u2019s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn\u2019t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n\u2022\\t**Sage\u2019s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model\u2019s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one\u2019s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10281-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1694-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1695-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6.json b/src/public/offline-activities/precipitating-change-v4/lesson-6.json new file mode 100644 index 00000000..d8deb0af --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6.json @@ -0,0 +1,546 @@ +{ + "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Modeling Fronts", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143691, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how moving fronts impact the weather.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148016-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1768-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143607, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EHow do fronts move?\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EOver the last couple of weeks, you have been exploring different aspects of regional data. You are now ready to begin to apply all of that knowledge to the unit challenge:\u0026nbsp;What will the\u0026nbsp;weather\u0026nbsp;be in Anchorage 24 hours from now?\u003C/p\u003E\n\u003Cp\u003EUse the resources from your past lessons to help inform your prediction. Go to page 28 in your Science Notebooks to review the Lesson 1, Weather Radar Maps for the Alaskan Region, to help you.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png\" width=\"297\" height=\"230\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png\" width=\"303\" height=\"231\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147917-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 6: MODELING FRONTS\\n**HOW DO FRONTS MOVE?**\\n\\nIn this lesson, students identify the location, direction, and rate of movement of the front. When warm and cold air masses collide, a front forms resulting in a change in weather. Fronts move across regions causing the local weather to change, sometimes suddenly. Scientists use models to predict changes in weather using the properties (temperature and moisture) of the air masses and their movement patterns. In this lesson, the focus shifts to how students can use the data to solve a problem and less on learning about the components of weather (as they did in Lessons 1 - 5). The understandings developed in this lesson support students in developing their predictions for the unit challenge in Lesson 7. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Understand that air masses are constantly moving and their characteristics (temperature and moisture) change\\n\\n* Identify evidence of a front moving through a given location \\n\\n* Analyze the speed and direction of a front moving over a region from given data\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10269-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (1 hour and 30 minutes)\\n\\n**KEY ACTIVITIES:**\\nPre-Assessment: Lesson 6: What Do You Think? (10 mins)\\nActivity 1 - Where is the Front Going? (35 mins)\\n\\nActivity 2 - How Fast is the Front Moving? (45 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - Where is the Front Going?\\n\\nPer Research Team:\\n\\n* Tablet/laptop\\n\\n* Science Notebook\\n \\n * Front Visualizations at 11 am, 9 pm, and 7 am\\n\\n* Alaska Map Transparency\\n\\n* Straight edge (ruler)\\n\\n* Wet erase markers\\n\\n* Paper towels (for erasing)\\n\\nPer Class:\\n\\n* Water (for students to erase on their transparencies, if needed)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10270-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 6.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson6_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10271-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143608, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Where is the front going?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch the \"Lesson 6: Modeling Fronts\" video as a class and think about the question, \"Where is the\u0026nbsp;front\u0026nbsp;going?\" and \u0026ldquo;What do we need to know about the\u0026nbsp;front\u0026nbsp;to predict where it will be in the future?\u0026rdquo;\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003EUsing all the resources you have available to you, including your computational thinking skills, datasets, and the Virtual Model images showing the following time steps (11 am, 9 pm, and 7am), work with your research team to answer the question, \"In what direction is your front moving?\"\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg\" alt=\"\" width=\"743\" height=\"278\" /\u003E\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147918-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EIn what direction is your front moving? Be as specific as you can.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208894-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow do you know the front is moving in that direction?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208895-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 1 - Where is the Front Going?\\n\\nThe focus of this activity is to provide students an opportunity to decompose a smaller challenge before they revisit the unit challenge in Lesson 7. In this activity, students use front visualizations from 11 am, 9 pm, and 7 am to see where the air masses are colliding (i.e., the front) at different times and to track the direction of the front. The specific computational thinking skills highlighted and practiced in this activity are **Decomposition**, **Pattern Recognition**, and **Model Evaluation**.\\n\\n###Activity Breakdown\\n\\n1.Play the Lesson 6 Virtual Model tutorial.\\n\\n2.Research teams use the Front Visualizations in their Science Notebooks and the Alaska Map Transparency to describe the direction the front is moving.\\n\\n3.In the student online activity, teams summarize their findings for the direction the front is moving within the region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10272-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Where is the Front Going? Strategy Tips \\nThe intention of this task is to provide students with a more open-ended task than seen in Lessons 1 - 4 and to give them an opportunity to apply their CT skills before solving the unit challenge. It is important that students work independently. The goal is to see if students can decompose the mini front challenge on their own. Additionally, this shift in perspective gives the students agency in their own learning to identify which CT skills are key to addressing this question. Students should realize that they know how to identify a front from Lesson 4, and have data at their disposal that can help them figure out the location of the front is at different points in time. Ideally, they will decompose \u201chow the front moves\u201d into two components: direction (which way it is heading) and speed (distance/time). Please see a list of possible discussion prompts to guide students through this process:\\n\\n\\n* Remind students that they learned how to identify a front in the last lesson, and that fronts can be an indicator of complex weather. \\n\\n* Point out that the unit challenge is to make a decision on if they are to continue, cancel, or postpone the Native Youth Olympics (NYO Games) and explain to them that figuring out where this front will be in 24 hours can help improve their prediction.\\n\\n* Raise the question: What do we need to know about the front to predict where it will be in the future? \\n\\n* Ask the research teams to:\\n\\n * Think about the question and brainstorm their ideas as a group.\\n * Identify the computational thinking skills they think will help them address this challenge. \\n\\n * Identify what features in the Virtual Model would help them answer this question. \\n * Identify what data they have from Lessons 1 - 5 that would help them answer this question.\\n* Have research teams answer the online activity questions.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10273-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Show this video to your students before directing them to page 29 in their Science Notebooks and have students answer the question, \\\"Where is the front going?\\\" Students will then use the transparency and the Virtual Model maps of the front from 11 am, 9 pm, and 7 am on pages 30-32 to determine how fast the front is moving. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials - Modeling Fronts.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson6WhereistheFrontGoing.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10274-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143609, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "How fast is the front moving?", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003ENow that you and your research team have figured out which way the\u0026nbsp;front\u0026nbsp;is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it\u0026rsquo;s going to pass through there. Where the\u0026nbsp;front\u0026nbsp;is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the\u0026nbsp;weather.\u003C/p\u003E\n\u003Cp\u003ETo best predict where the\u0026nbsp;front\u0026nbsp;will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance over time). Once you know both speed and direction (from Activity 1) of the\u0026nbsp;front, your\u0026nbsp;weather\u0026nbsp;analysis will help you answer the question \u0026ldquo;How fast is the\u0026nbsp;front\u0026nbsp;moving?\u0026rdquo;\u003C/p\u003E\n\u003Cp\u003EYou will have the following tools to help you:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; Your\u0026nbsp;front images from the Virtual Model\u003Cbr /\u003E\u0026bull; A regional map transparency\u003Cbr /\u003E\u0026bull; Rulers and pens\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147919-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003EUsing the available materials, develop a strategy for calculating the rate of the\u0026nbsp;front. Remember that speed equals distance an object moves divided by the time it takes the object to move to its new location.\u003C/p\u003E\r\n\u003Cp style=\"padding-left: 30px;\"\u003E\u003Cstrong\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Speed = Distance/Time\u003C/strong\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147920-Embeddable::Xhtml" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Your answer should be a rate or speed.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Speed is a measurement of distance over time.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Distance can be measured in units of kilometers, miles, etc.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Time can be measured in hours, days, etc.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EHow fast is the\u0026nbsp;front\u0026nbsp;moving? Be as specific as you can.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208896-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "\u003Cp\u003E\u0026bull; Explain your strategy.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Talk about what you did to come up with your answer.\u003C/p\u003E", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDescribe how your team figured out how fast the\u0026nbsp;front\u0026nbsp;is moving.\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208897-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - How Fast is the Front Moving?\\n\\nThe focus of this activity is for students to analyze the visualization data they generated in Activity 1 and to develop a statement defining the speed of the front moving across the region. The activity ends with research teams developing a description of how fast the front is moving and recording it in the student online activity. The specific computational thinking practice highlighted and practiced in this activity is **Pattern Recognition**.\\n\\n\u003Cbr\u003E**1. Calculate the speed the front is moving.**\\n\\n* Pass out to the research teams their Science Notebooks with the front visualizations, Regional Map Transparency, wet erase markers, paper towels, and rulers. \\n\\n* Students may also want to use the [L1A2: Alaska Weather Station Data Sheet](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1A2_WeatherStationDataAK.png) and the [L4A1: Alaska Additional Weather Stations handouts](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4A1_AdditionalWeatherStationsDataSheet_AK.png). \\n\\n* The primary challenge for students will be deciding where on the front to use as a reference point when measuring the distance that it moves from timestamp to timestamp. Here are some possible suggestions to help the students with this:\\n\\n * Use a ruler to draw a straight line that approximates the middle of the front.\\n\\n * If the front is curved, choose an area that is generally straight.\\n\\n * Encourage students to be consistent, i.e., choose the same reference point every time.\\n\\n**2. Create an analysis statement.** Students use their tools to analyze the movement of the front and develop an analysis statement that summarizes the front movement. They record their statement in the student online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10275-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"The key to this activity is for students to mark up the Regional Map Transparency with the location of the front at each of the time steps that were captured in the visualizations. Once all the time steps are captured on one map (via a transparency marker), students can calculate the speed by measuring the distance between each location of the front and taking an average. Once they have an average distance the front moves and the amount of time between each front line, they can plug their number into a standard speed formula.\\n\\n\u003Cbr\u003EPlease see an example below of a final statement students will make after completing this activity:\u003Cbr\u003E\u003Cbr\u003E\\n**The front is moving from X to Y at a speed of Z.**\u003Cbr\u003E\u003Cbr\u003E\\n\\n\\n\\nStudents can use whatever terms make sense to them. For example, X can stand for \u201cleft,\\\" \u201cupper left,\\\" or \u201cNorthwest.\\\" Speed can be in recorded in squares per hour, squares per every two hours, kilometers per hour, etc.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10276-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a higher resolution and requires a higher bandwidth to download. Please use the lower resolution/lower bandwidth video option below if you have trouble downloading this video.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/alaska-pilot-final.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10277-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a lower resolution and should be used if you have trouble downloading the higher resolution video above.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska-Pilot-Final-low-res.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10278-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143692, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148894-Embeddable::Xhtml" + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-7.json b/src/public/offline-activities/precipitating-change-v4/lesson-7.json new file mode 100644 index 00000000..61b23181 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v4/lesson-7.json @@ -0,0 +1,984 @@ +{ + "description": "\u003Cp\u003EAnalyzing Data and Making a Prediction: What will the weather be like 24 hours from now?\u003C/p\u003E", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 7: Analyzing Data and Making a Prediction", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [{ + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143696, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how\u0026nbsp;to make predictions for upcoming weather patterns.\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148017-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1769-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143612, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYou have been planning the Alaskan Native Youth Olympics (NYO Games) for April 23rd at 7:00 am. This event has been planned for months and the committee is expecting over 500 people to attend. One of your jobs on this committee is to watch the\u0026nbsp;weather\u0026nbsp;and determine if the event is safe to proceed as\u0026nbsp;planned, or if it should be\u0026nbsp;postponed\u0026nbsp;or\u0026nbsp;even canceled.\u003C/p\u003E\n\u003Cp\u003EIt\u0026rsquo;s time to put your computational thinking skills to work!\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147923-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 7: ANALYZING DATA AND MAKING A PREDICTION\\n\\n**What will the local weather be 24 hours from now?**\\n\\nIn this lesson, students revisit the unit challenge and the original question posted to them in Lesson 1, \\\"Should the NYO Games proceed as planned, be postponed or canceled?\\\" Students assume the role of weather forecasters and make a weather prediction for Anchorage on April 23 at 7 am using regional data and models they have been exploring throughout this unit. This lesson is the unit\u2019s capstone experience. \\n\\n\u003Cbr\u003E**LEARNING GOALS:**\\n\\nStudents will be able to:\\n\\n* Articulate how data is visualized from a historic weather event (i.e., temperature, precipitation, wind speed, and wind direction)\\n\\n* Analyze data from a historical weather dataset and provide a description/explanation of the weather event\\n\\n* Make a prediction of future weather using data and reasoning to support their claim\\n\\n* Apply the CT skills they have developed in their analysis of the weather event\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10285-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 3 class periods (135 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\nActivity 1 - Reflecting on the Unit (45 mins)\\n\\nActivity 2 - Research Teams in Action(120 mins)\\n\\nConclusion (15 mins)\\n\\n\\n\u003Cbr\u003E**MATERIALS AND SET-UP:**\\n\\nActivity 2 - Research Teams in Action\\n\\n* Student Presentation Template in [Keynote](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key), [Google](https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing/?target=_blank), or [Powerpoint](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx)\\n\\n* Actual weather in Anchorage on day of event: Moderate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain.\\n\\nTemperature: 43\u00b0F/6.1\u00b0C\\nWind: 280\u00b0\\nPrecipitation: none\\n\\n* [Virtual Model](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) to display where the front will be at the time of the NYO games. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"!Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10286-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a lower resolution and requires a lower bandwidth and should be used if you have difficulty downloading the higher resolution/higher bandwidth option. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10287-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a higher resolution and requires a higher bandwidth. If you have difficulty downloading this video use the lower bandwidth option.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/ConcordAlaska7Final-low.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10288-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143613, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EThroughout the Precipitating Change, you have been developing some computational thinking skills that real weather scientist use. Although we have not named the skill until now, notice in the table below the skills you have used to help decide if the NYO Games should proceed.\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr bgcolor=\"#D3D3D3\"\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u003Cstrong\u003EDefinition\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u0026nbsp;\u003C/th\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u003Cstrong\u003EComputational Thinking Skill\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EOrganizing a large amount of information (data) into smaller more manageable parts.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg\" width=\"235\" height=\"132\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp\u003E\u003Cstrong\u003EDecomposition\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EIn \u003Cstrong\u003ELesson 1, \u003C/strong\u003Eyou organized weather station data over a two-day period and radar maps of Alaska every 6 hours to make a prediction.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ERecognizing that data or information is repeating in a logical (expected) way.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png\" width=\"159\" height=\"181\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPattern Recognition\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you ran the model to see temperature data and patterns of data moving across the map. Before and after each run of the model, you interpolated data. You discovered that warm and cold spots on the map are at times on certain sides, and also you saw these spots change location over time.\u003C/p\u003E\r\n\u003Cp\u003EIn\u003Cstrong\u003E Lesson 3 and 4\u003C/strong\u003E, you ran the models to develop a general statement to answer the question \"Where does it rain?\".\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EEstimating an unknown value based on surrounding information.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg\" alt=\"\" width=\"206\" height=\"117\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EInterpolation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you made best guess estimates of the temperatures that were missing on the map.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EFollowing a pattern beyond the known data points.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg\" width=\"205\" height=\"116\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EExtrapolation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you predicted future weather based on patterns you observed in the changing temperatures you collected and visualized.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ECollecting and organizing data to better understand the topic.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg\" width=\"226\" height=\"127\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData Aggregation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you observed temperature data from a model and organized the data to see the \u0026ldquo;big picture\u0026rdquo;.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center; padding: 20px;\"\u003E\r\n\u003Ctd style=\"padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ESimplifying data to make it easier to interpret and find patterns.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg\" width=\"235\" height=\"132\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData Abstraction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you came up with a color scheme for temperature and changed how the data was represented from numbers to temperature categories, and then to colors.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EDeveloping a statement of how things work based on the patterns you observed.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png\" width=\"232\" height=\"143\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003ERule Abstraction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 3\u003C/strong\u003E, you made a generic statement to answer the question, \"Where does it rain?\".\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ELooking at the big picture by putting all the components together in the model to see if it works.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png\" width=\"240\" height=\"176\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EModel Evaluation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 4 and 5\u003C/strong\u003E, you ran a model to determine whether a rule was still true in different situations.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EModifying a rule to be more precise (exact, careful about details) to work in the model.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png\" width=\"254\" height=\"188\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003ERule Refinement\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 4 and 5\u003C/strong\u003E, as you ran the model, you were able to test your rule statements and make changes based on the model.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EForecast based on evidence about a future event.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png\" width=\"274\" height=\"143\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData-based Prediction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 6\u003C/strong\u003E, you selected data including temperature, air moisture and wind direction to help form a forecast about a future event.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147924-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": true, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich skill was the easiest to use? Please explain why.\u003C/p\u003E\r\n\u003Cp\u003Ea)\u0026nbsp;\u0026nbsp; \u0026nbsp;Decomposition\u003C/p\u003E\r\n\u003Cp\u003Eb)\u0026nbsp;\u0026nbsp; Pattern Recognition\u003C/p\u003E\r\n\u003Cp\u003Ec)\u0026nbsp;\u0026nbsp; Interpolation\u003C/p\u003E\r\n\u003Cp\u003Ed)\u0026nbsp;\u0026nbsp; Extrapolation\u003C/p\u003E\r\n\u003Cp\u003Ee)\u0026nbsp;\u0026nbsp; Data Aggregation\u003C/p\u003E\r\n\u003Cp\u003Ef)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eg)\u0026nbsp;\u0026nbsp; Rule Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eh)\u0026nbsp;\u0026nbsp; Model Evaluation\u003C/p\u003E\r\n\u003Cp\u003Ei)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Rule Refinement\u003C/p\u003E\r\n\u003Cp\u003Ej)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data-based Prediction\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208898-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": true, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhich skill was the hardest to use? Please explain why?\u003C/p\u003E\r\n\u003Cp\u003Ea)\u0026nbsp;\u0026nbsp; Decomposition\u003C/p\u003E\r\n\u003Cp\u003Eb)\u0026nbsp;\u0026nbsp; Pattern Recognition\u003C/p\u003E\r\n\u003Cp\u003Ec)\u0026nbsp;\u0026nbsp; Interpolation\u003C/p\u003E\r\n\u003Cp\u003Ed)\u0026nbsp;\u0026nbsp; Extrapolation\u003C/p\u003E\r\n\u003Cp\u003Ee)\u0026nbsp;\u0026nbsp; Data Aggregation\u003C/p\u003E\r\n\u003Cp\u003Ef)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eg)\u0026nbsp;\u0026nbsp; Rule Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eh)\u0026nbsp;\u0026nbsp; Model Evaluation\u003C/p\u003E\r\n\u003Cp\u003Ei)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Rule Refinement\u003C/p\u003E\r\n\u003Cp\u003Ej)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data-based Prediction\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208899-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1 - Reflecting on the Unit\\n\\nThe focus of this activity is for students to reflect upon all the computational thinking skills they developed over the unit. The specific computational thinking skill highlighted and practiced in this lesson is **Data-based Prediction**.\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10289-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Synthesis Discussion\\n\\n* Introduce Data-based Prediction as the new CT skill used in this Lesson and discuss as a class using the prompts below: \\n\\n * How will you use this skill in this lesson?\\n\\n * How is your process for making your prediction different now in Lesson 7 than in Lesson 1?\\n\\n * Why do you think knowing this is important?\\n\\n* Review the Computational Thinking (CT) skills chart with your students and see if they can recall when they used the different skills throughout the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10290-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhich skill was the easiest to use? Please explain why.\u003C/p\u003E\\n\u003Cp\u003Ea) Decomposition\u003C/p\u003E\\n\u003Cp\u003Eb) Pattern Recognition\u003C/p\u003E\\n\u003Cp\u003Ec) Interpolation\u003C/p\u003E\\n\u003Cp\u003Ed) Extrapolation\u003C/p\u003E\\n\u003Cp\u003Ee) Data Aggregation\u003C/p\u003E\\n\u003Cp\u003Ef) Data Abstraction\u003C/p\u003E\\n\u003Cp\u003Eg) Rule Abstraction\u003C/p\u003E\\n\u003Cp\u003Eh) Model Evaluation\u003C/p\u003E\\n\u003Cp\u003Ei) Rule Refinement\u003C/p\u003E\\n\u003Cp\u003Ej) Data-based Prediction\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1895-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhich skill was the hardest to use? Please explain why?\u003C/p\u003E\\n\u003Cp\u003Ea) Decomposition\u003C/p\u003E\\n\u003Cp\u003Eb) Pattern Recognition\u003C/p\u003E\\n\u003Cp\u003Ec) Interpolation\u003C/p\u003E\\n\u003Cp\u003Ed) Extrapolation\u003C/p\u003E\\n\u003Cp\u003Ee) Data Aggregation\u003C/p\u003E\\n\u003Cp\u003Ef) Data Abstraction\u003C/p\u003E\\n\u003Cp\u003Eg) Rule Abstraction\u003C/p\u003E\\n\u003Cp\u003Eh) Model Evaluation\u003C/p\u003E\\n\u003Cp\u003Ei) Rule Refinement\u003C/p\u003E\\n\u003Cp\u003Ej) Data-based Prediction\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1896-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143614, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection (cont.)", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003E\u003Cstrong\u003EYour Initial Prediction\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EAt the beginning of the unit you made a weather prediction.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147925-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"\",\"teacherTip\":\"You may need to turn on Lesson 1 again if students don't remember what their prediction was on (page ?) in Lesson 1. \",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10291-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EIn Lesson 1, Activity 2 - Making a Prediction, what did you predict the weather will be at 7:00 am in Anchorage on April 23?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1897-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"a6d209ef-958d-474c-a8db-e1b73b84fde7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"2ffa3691-0e65-48b2-8466-b8528d8de2b5\"}],\"prompt\":\"\u003Cp\u003EHow confident were you of your prediction?\u003C/p\u003E\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1898-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143615, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Research Teams in Action", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EYour team will produce up to a two-minute weather forecast. You may use the template provided or you may develop your own. In addition, each team needs to write a script or outline that explains your forecast. Include in your forecast the following:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003ELocation of the front that you have been tracking\u003C/li\u003E\n\u003Cli\u003ETemperature\u003C/li\u003E\n\u003Cli\u003EPrecipitation\u003C/li\u003E\n\u003Cli\u003EWind Direction\u003C/li\u003E\n\u003Cli\u003EDecide to hold NYO or to cancel or postpone it due to bad weather preventing teams from flying into Anchorage\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003EYou can access the Student Presentation Template in \u003Ca href=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key\" target=\"_blank\" rel=\"noopener\"\u003EKeynote\u003C/a\u003E, \u003Ca href=\"https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing\" target=\"_blank\" rel=\"noopener\"\u003EGoogle\u003C/a\u003E, or \u003Ca href=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx\" target=\"_blank\" rel=\"noopener\"\u003EPowerpoint\u003C/a\u003E to prepare your forecast.\u003C/p\u003E\n\u003Cp\u003EYou have additional resources to help you:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EWeather\u0026nbsp;Station Data (temperature, moisture content, and\u0026nbsp;wind direction\u0026nbsp;from 10 stations for every 2 hours)\u003C/li\u003E\n\u003Cli\u003ERadar Images (shows\u0026nbsp;precipitation\u0026nbsp;in the region every 6 hours)\u003C/li\u003E\n\u003Cli\u003ERules for where\u0026nbsp;precipitation\u0026nbsp;is likely to occur\u003C/li\u003E\n\u003Cli\u003ERules for how heavy\u0026nbsp;precipitation\u0026nbsp;is likely to be when it occurs\u003C/li\u003E\n\u003Cli\u003EYour model analysis statement of the speed and direction the\u0026nbsp;front\u0026nbsp;is moving\u003C/li\u003E\n\u003C/ul\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147926-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"**1. Guide student teams to complete their weather forecast.**\\n\\n**2. Reveal the actual weather for 7 am on the NYO Games day.**\\n\\nIf possible, project this [MODEL](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) for your students. It is designed to easily show the progress of the front leading up to the NYO Games. It is designed to give your students a sense of completion with their work in this curriculum. It could also help frame a final discussion.\\n\\nThe model has wind data for 13 different days and times from the 10 Alaska weather stations. The drop-down menu, the slider, and the arrow buttons allow you to easily select the wind data in 2-hour intervals between April 21 at 7am to April 22 at 7 am. If you uncheck the \\\"wind-visible?\\\" and \\\"trails?\\\" features you can click through a 24 hour period to see how the wind changes at each station. Repeating this more slowly with one or both checkboxes set true, will show the progress of the front. Finally, press the Reveal button to see the wind at the beginning of the NYO Games. \\n\\nAlso, please see the **Anchorage weather report** below:\\nModerate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain. \\n\\n* Temperature: 43\u00b0F/6.1\u00b0C\\n* Wind: 280\u00b0\\n* Precipitation: none\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10292-Embeddable::EmbeddablePlugin" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Students will be producing a weather forecast in this lesson. They will deciding to hold the Native Youth Olympics in Anchorage on April 23. Students could also recommend postponing NYO as well.\\n\\nStudents in their teams will be editing a presentation template or creating their own and will be develop a script or outline for the weather forecast to be presented to the class. Please see steps to guide students through the process below:\\n\\n1. Teams will edit the template for their forecast or create their own.\\n\\n2. Teams will write a script or outline to use in their forecast presentation.\\n\\n3. When the team is ready to present, project the presentation. \\n\\n4. As each team presents, video record the presentation.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10293-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143616, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp\u003EAs a research team, reflect on your experience both in this lesson and the weather unit as a whole.\u003C/p\u003E", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147927-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EDid your weather predictions get better at the end of the unit? Why or why not?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208901-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhy do you think weather forecasters sometimes get weather predictions wrong?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208902-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EImagine you could create your own computer weather model to make an even better weather prediction. What extra features would your model have? What could your model do?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208903-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "\u003Cp\u003EWhat other problems do you think you could use computational thinking to solve?\u003C/p\u003E", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208904-Embeddable::OpenResponse" + }, + "section": null + }, { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Reflection on the computational thinking practices students learned throughout the unit. \\n\\n* Have a class discussion about computational thinking and weather. You can use the online activity questions as prompts:\\n\\n * Did your weather predictions get better at the end of the unit?\\n\\n * Why do you think weather forecasters sometimes get weather predictions wrong?\\n\\n * If you could have created your own computer weather model to make a better prediction, what else would you have your model do?\\n\\n * What other problems do you think you could use computational thinking to solve?\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10294-Embeddable::EmbeddablePlugin" + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144656, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Presentation", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [{ + "embeddable": { + "content": "\u003Cp style=\"padding-left: 30px;\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/L7instructionsscale.png\" width=\"720\" height=\"329\" /\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149053-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "content": "\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/weather_forecasting_tools.png\" width=\"720\" height=\"215\" /\u003E\u003C/p\u003E", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149055-Embeddable::Xhtml" + }, + "section": "header_block" + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{\"b74ab519-8aa4-47d3-999b-39455379f007\":{\"left\":203,\"top\":20},\"9645999f-9613-4843-9cda-cb216a1d39c2\":{\"left\":107,\"top\":113},\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\":{\"left\":202,\"top\":187}}},\"draggableItems\":[{\"id\":\"f6793037-7a87-445d-8772-9c9eb7855150\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"b74ab519-8aa4-47d3-999b-39455379f007\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"9645999f-9613-4843-9cda-cb216a1d39c2\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"f83a70e2-efee-4bba-a64e-1eef54f47478\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "bc60f7570392901235434f601d724026a4e4c3b1", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2125-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":800,\"canvasHeight\":500,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "bc60f7570392901235434f601d724026a4e4c3b1", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2126-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"\u003Cp\u003EDrag following items:\u003C/p\u003E\",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "a309b989c0cff0915fe71fcdf16dd116a6231c9b", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2127-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }] + }, { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + }], + "plugins": [{ + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + }], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} diff --git a/src/public/offline-manifests/precipitating-change-v4.json b/src/public/offline-manifests/precipitating-change-v4.json new file mode 100644 index 00000000..7c862013 --- /dev/null +++ b/src/public/offline-manifests/precipitating-change-v4.json @@ -0,0 +1,327 @@ +{ + "name": "Alaska 2021 - Precipitating Change", + "activities": [ + { + "name": "Interview - Predicting the Weather Without the Weather Channel", + "contentUrl": "offline-activities/precipitating-change-v3/interview.json", + "resourceUrl": "https://authoring.concord.org/activities/11559" + }, + { + "name": "Lesson 1: Making an Initial Prediction", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-1.json", + "resourceUrl": "https://authoring.concord.org/activities/11501" + }, + { + "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-1-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11630" + }, + { + "name": "Lesson 2: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-2-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11565" + }, + { + "name": "Lesson 2: Displaying Temperature Data ", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-2.json", + "resourceUrl": "https://authoring.concord.org/activities/11526" + }, + { + "name": "Lesson 2: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-2-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11581" + }, + { + "name": " Lesson 3: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-3-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11583" + }, + { + "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-3.json", + "resourceUrl": "https://authoring.concord.org/activities/11582" + }, + { + "name": " Lesson 3: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-3-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11584" + }, + { + "name": "Lesson 4: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-4-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11586" + }, + { + "name": "Lesson 4: Building Rules", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-4.json", + "resourceUrl": "https://authoring.concord.org/activities/11585" + }, + { + "name": "Lesson 4: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-4-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11587" + }, + { + "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-5-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11593" + }, + { + "name": "Lesson 5: Identifying Air Masses", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-5.json", + "resourceUrl": "https://authoring.concord.org/activities/11588" + }, + { + "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-5-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11595" + }, + { + "name": "Lesson 6: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-6-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11590" + }, + { + "name": "Lesson 6: Modeling Fronts", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-6.json", + "resourceUrl": "https://authoring.concord.org/activities/11589" + }, + { + "name": "Lesson 6: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-6-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11591" + }, + { + "name": "Lesson 7: Analyzing Data and Making a Prediction", + "contentUrl": "offline-activities/precipitating-change-v3/lesson-7.json", + "resourceUrl": "https://authoring.concord.org/activities/11592" + } + ], + "cacheList": [ + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska-Pilot-Final-low-res.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/ConcordAlaska7Final-low.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson6WhereistheFrontGoing.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20Virtual%20Storm%20Student%20Guide.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/alaska-pilot-final.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/air_moisture_fog-high.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/pattern-recognition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/precipitation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/weather.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/wind-direction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/exptrapolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/extrapolation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Diggiynetritiy_He_broke_it.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Atthabaskan/Vitotuq_between_middle.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/How_is_the_weather_Ngieghndadzdixeta.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/I_am_going_to_use_this_patttern_Gon%20ghoghoy_yigidighoy_axa_ditast%27e%C5%82.%20.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It%27s%20snowing_Iyoth.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It_snows_during_the_winter_Xiyhtuxiyoth.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Pattern_Ghoghoyyigidighoy.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_South_wind_is_starting_to_blow_Edodzxandithitriyh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_fog_is_thick_Getiyeqngichox.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/There_is_too_much_fog_Getiyeqxelanh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_Is_it_doing_outside_Ngieghndadzdixeta16.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_is_next_Ndadzchenh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Wind_is_coming_from_the_west_Dongthedzxidetriyh.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/between_middle_Vitotuq.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/middle_Xivitotuq.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/L7instructionsscale.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/weather_forecasting_tools.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AK-3-maps-interpolation.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKABCinterpolationtemp.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKlinearinterpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKweightedneigborinterpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/AbstractionMovie.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/Aggregation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/PatternRecognition.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/WindDirection.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/moisture-amount.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/precipitation_snow.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/weather-movie.mp4", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_555555_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_ffffff_256x240.png", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson6_88.mp4", + "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", + "https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png", + "https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/Temp-Moisture-Key.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", + "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/precip-models/ak-w-cities.png", + "models-resources/precip-models/lesson-4-ak-v3.html", + "models-resources/precip-models/precip-rule-ak-v5.html", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/carousel/", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/image/", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/open-response/", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.1.0/video-player/", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.css", + "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", + "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" + ] +} From 12d5151ea2ba9645909a88c3aa32e1cb5a22972d Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Thu, 1 Apr 2021 17:48:05 -0400 Subject: [PATCH 199/242] parse and stringify json activities this takes care of one set of differences that come from the new script --- .../precipitating-change-v4/interview.json | 822 +-- .../lesson-1-post.json | 426 +- .../precipitating-change-v4/lesson-1.json | 2218 +++---- .../lesson-2-post.json | 542 +- .../precipitating-change-v4/lesson-2-pre.json | 542 +- .../precipitating-change-v4/lesson-2.json | 5595 +++++++++-------- .../lesson-3-post.json | 464 +- .../precipitating-change-v4/lesson-3-pre.json | 464 +- .../precipitating-change-v4/lesson-3.json | 2263 +++---- .../lesson-4-post.json | 464 +- .../precipitating-change-v4/lesson-4-pre.json | 464 +- .../precipitating-change-v4/lesson-4.json | 1680 ++--- .../lesson-5-post.json | 542 +- .../precipitating-change-v4/lesson-5-pre.json | 542 +- .../precipitating-change-v4/lesson-5.json | 2303 +++---- .../lesson-6-post.json | 464 +- .../precipitating-change-v4/lesson-6-pre.json | 464 +- .../precipitating-change-v4/lesson-6.json | 1071 ++-- .../precipitating-change-v4/lesson-7.json | 1948 +++--- 19 files changed, 11919 insertions(+), 11359 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v4/interview.json b/src/public/offline-activities/precipitating-change-v4/interview.json index b8d0f978..d1c883be 100644 --- a/src/public/offline-activities/precipitating-change-v4/interview.json +++ b/src/public/offline-activities/precipitating-change-v4/interview.json @@ -13,417 +13,431 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143459, - "is_completion": false, - "is_hidden": false, - "layout": "l-6040", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png\"}", - "is_hidden": true, - "is_full_width": false, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Image Interactive", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143459, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png\"}", + "is_hidden": true, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1636-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1636-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EPredicting the weather without the Weather Channel\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETalk with an \u003Cstrong\u003Eadult family member or family friend\u003C/strong\u003E who you think might have experience predicting the weather (maybe even someone who is older who learned how to predict the weather when they were around your age).\u003C/p\u003E\r\n\u003Cp\u003EWhat if you needed a weather forecast and couldn\u0026rsquo;t use your usual ways of checking the weather? Imagine you\u0026rsquo;re planning to go snowmobiling on the tundra, but there\u0026rsquo;s a big power failure and there\u0026rsquo;s no TV, Internet, or cell phone available. Even the radio isn\u0026rsquo;t working! You might try to figure out a weather forecast with help from someone you know.\u003C/p\u003E\r\n\u003Cp\u003EAsk the person the questions below and write down their ideas. If possible, record your talk so you can go back and check that you\u0026rsquo;ve written down all the important ideas.\u003C/p\u003E", - "is_callout": true, - "is_full_width": false, - "is_hidden": false, - "name": "Predicting the Weather Without the Weather Channel", - "type": "Embeddable::Xhtml", - "ref_id": "147758-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png\"}", - "is_hidden": false, - "is_full_width": false, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Image Interactive", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "content": "

    Predicting the weather without the Weather Channel

    \r\n

    Talk with an adult family member or family friend who you think might have experience predicting the weather (maybe even someone who is older who learned how to predict the weather when they were around your age).

    \r\n

    What if you needed a weather forecast and couldn’t use your usual ways of checking the weather? Imagine you’re planning to go snowmobiling on the tundra, but there’s a big power failure and there’s no TV, Internet, or cell phone available. Even the radio isn’t working! You might try to figure out a weather forecast with help from someone you know.

    \r\n

    Ask the person the questions below and write down their ideas. If possible, record your talk so you can go back and check that you’ve written down all the important ideas.

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "Predicting the Weather Without the Weather Channel", + "type": "Embeddable::Xhtml", + "ref_id": "147758-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1657-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"required\":true,\"prompt\":\"\u003Cp\u003EHow did you learn how to predict the weather?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png\"}", + "is_hidden": false, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1657-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1638-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat things do you observe to help you predict the weather? \u003C/p\u003E\",\"required\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"required\":true,\"prompt\":\"

    How did you learn how to predict the weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1638-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1639-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow do you observe those things? (What senses do you use? What tools or instruments do you use?)\u003C/p\u003E\",\"required\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What things do you observe to help you predict the weather?

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1639-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1640-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow do you use what you observe to predict what the upcoming weather is going to be like? \u003C/p\u003E\",\"required\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How do you observe those things? (What senses do you use? What tools or instruments do you use?)

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1640-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1641-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EStep outside together and ask: what do you think the weather is going to be like twelve hours from now and how do you know? If you are talking with someone who is far away, maybe by phone or Internet, ask them to either take a picture of what the sky is like where they are and send it to you or else describe what they see to you as they answer this question.\u003C/p\u003E\",\"required\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How do you use what you observe to predict what the upcoming weather is going to be like?

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1641-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1642-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Step outside together and ask: what do you think the weather is going to be like twelve hours from now and how do you know? If you are talking with someone who is far away, maybe by phone or Internet, ask them to either take a picture of what the sky is like where they are and send it to you or else describe what they see to you as they answer this question.

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1642-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] } - }], + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-1-post.json index 348e648c..7a8cb7f3 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-1-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-1-post.json @@ -13,217 +13,227 @@ "time_to_complete": null, "version": 1, "theme_name": null, - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 144077, - "is_completion": false, - "is_hidden": false, - "layout": "l-6040", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EAs you answer these questions, think about the words used by the person you talked with about weather and the words used by a meteorologist. How do each of them describe weather and weather forecasting?\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148413-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat are some \u003Cstrong\u003Esimilarities\u003C/strong\u003E between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather? \u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144077, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As you answer these questions, think about the words used by the person you talked with about weather and the words used by a meteorologist. How do each of them describe weather and weather forecasting?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148413-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1834-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat are some \u003Cstrong\u003Edifferences\u003C/strong\u003E between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather? \u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are some similarities between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1834-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1835-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy might it be worthwhile to have some understanding of how to predict weather yourself (without using information from TV or Internet)? \u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are some differences between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1835-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1836-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why might it be worthwhile to have some understanding of how to predict weather yourself (without using information from TV or Internet)?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1836-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] } - }], + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-1.json b/src/public/offline-activities/precipitating-change-v4/lesson-1.json index 88ec615b..7f379802 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-1.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-1.json @@ -13,1121 +13,1163 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143296, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Real World Application", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EHave you ever wondered how people on the news are able to predict tomorrow\u0026rsquo;s weather?\u003C/p\u003E\r\n\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will tell you about her job and how she predicts the weather.\u0026nbsp; Jackie will provide more information about being a meteorologist throughout this unit.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147485-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "Jackie Purcell - L1", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143296, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever wondered how people on the news are able to predict tomorrow’s weather?

    \r\n

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will tell you about her job and how she predicts the weather.  Jackie will provide more information about being a meteorologist throughout this unit.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147485-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1262-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 142934, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Overall Introduction", - "position": 2, - "show_header": true, - "show_info_assessment": false, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWelcome to Precipitating Change! Watch this video to see what it is all about!\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "What This Unit Is About", - "type": "Embeddable::Xhtml", - "ref_id": "147101-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "Mr. Neyhard's Introduction", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + { + "embeddable": { + "name": "Jackie Purcell - L1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1262-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142934, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Overall Introduction", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Welcome to Precipitating Change! Watch this video to see what it is all about!

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "What This Unit Is About", + "type": "Embeddable::Xhtml", + "ref_id": "147101-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1180-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 142945, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Lesson Opening", - "position": 3, - "show_header": true, - "show_info_assessment": false, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EYour unit challenge will be to determine if the Native Youth Olympics (NYO Games) in Anchorage will be able to take place as planned, be postponed or even be canceled because of problems traveling from across Alaska due to weather.\u003C/p\u003E\r\n\u003Cp\u003ETo solve this challenge throughout the unit, you will need to learn how to predict the weather.\u003C/p\u003E\r\n\u003Cp\u003EYou will have the following tools to help you:\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Real-world data for the Alaska mainland\u003Cbr /\u003E\u0026bull; A toolkit to help analyze the data\u003Cbr /\u003E\u003Cbr /\u003E\u003C/p\u003E\r\n\u003Cp\u003EWatch Mr. Neyhard tell you more about the unit challenge.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "The unit challenge", - "type": "Embeddable::Xhtml", - "ref_id": "147111-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + { + "embeddable": { + "name": "Mr. Neyhard's Introduction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1180-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142945, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Lesson Opening", + "position": 3, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Your unit challenge will be to determine if the Native Youth Olympics (NYO Games) in Anchorage will be able to take place as planned, be postponed or even be canceled because of problems traveling from across Alaska due to weather.

    \r\n

    To solve this challenge throughout the unit, you will need to learn how to predict the weather.

    \r\n

    You will have the following tools to help you:

    \r\n

    • Real-world data for the Alaska mainland
    • A toolkit to help analyze the data

    \r\n

    Watch Mr. Neyhard tell you more about the unit challenge.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "The unit challenge", + "type": "Embeddable::Xhtml", + "ref_id": "147111-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1184-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 142944, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Exploring the Weather", - "position": 4, - "show_header": true, - "show_info_assessment": false, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EEXPLORING THE\u0026nbsp;WEATHER\u003C/p\u003E\r\n\u003Cp\u003E\"What am I going to wear today?\" is a question everyone asks each morning. How do you determine what you are going to wear? What information do you collect to inform your decision?\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147110-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\",\"highResUrl\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Image Interactive", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1184-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142944, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring the Weather", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    EXPLORING THE WEATHER

    \r\n

    \"What am I going to wear today?\" is a question everyone asks each morning. How do you determine what you are going to wear? What information do you collect to inform your decision?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147110-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1263-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }, { - "embeddable": { - "content": "\u003Cp\u003ELook at the\u0026nbsp;weather\u0026nbsp;data for the\u0026nbsp;morning\u0026nbsp;on Tuesday.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147486-Embeddable::Xhtml" - }, - "section": "interactive_box" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"54\u00b0F\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhat is the predicted temperature on Tuesday morning?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\",\"highResUrl\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1263-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "1265-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"54\u00b0F\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat is the predicted high temperature on Tuesday during the day?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "content": "

    Look at the weather data for the morning on Tuesday.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147486-Embeddable::Xhtml" + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "1266-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Sunshine\",\"correct\":false},{\"id\":\"2\",\"content\":\"Snow\",\"correct\":false},{\"id\":\"3\",\"content\":\"Rain\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhat does the symbol on Tuesday mean?\u003C/p\u003E\\n\u003Cp\u003E\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png\\\" width=\\\"50\\\" height=\\\"44\\\"/\u003E\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"54°F\",\"correct\":true}],\"prompt\":\"

    What is the predicted temperature on Tuesday morning?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1265-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "1267-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A sweater, some pants, and either an umbrella or a rain jacket because it\u2019s not too cold or too warm but it is supposed to be raining.\",\"correct\":true},{\"id\":\"2\",\"content\":\"My parka/big fluffy coat, snow pants, snow boots, and ski goggles because snow will be falling.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Shorts and T-shirt with sunglasses because it will be sunny and hot.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EBased on the weather forecast, what would you wear on Tuesday morning?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57°F\",\"correct\":true},{\"id\":\"3\",\"content\":\"54°F\",\"correct\":false}],\"prompt\":\"

    What is the predicted high temperature on Tuesday during the day?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1266-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "1268-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "carousel", - "id": 143199, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Making a Prediction", - "position": 5, - "show_header": true, - "show_info_assessment": false, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EMAKING A\u0026nbsp;PREDICTION\u003C/p\u003E\r\n\u003Cp\u003ECan you determine at night what the\u0026nbsp;weather\u0026nbsp;will be the following morning? What kind of information goes into a\u0026nbsp;weather\u0026nbsp;prediction?\u003C/p\u003E\r\n\u003Cp\u003EYou have been planning to go to the NYO Games in Anchorage on April 23 at 7 am. This event has been planned for months and you are expecting that about 500 students will compete from all over the state. One of your jobs is to watch the\u0026nbsp;weather\u0026nbsp;and determine if the event is safe to proceed as\u0026nbsp;planned, or if it should be\u0026nbsp;postponed\u0026nbsp;or\u0026nbsp;cancelled.\u003C/p\u003E\r\n\u003Cp\u003EBelow is an Alaska\u0026nbsp;weather\u0026nbsp;dataset from weather stations that includes temperature,\u0026nbsp;precipitation, wind speed, and\u0026nbsp;wind direction.\u003C/p\u003E\r\n\u003Cp\u003EThe data from the\u0026nbsp;weather\u0026nbsp;stations are organized to show information for a 24-hour time period.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147487-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "aspect_ratio_method": "DEFAULT", - "authored_state": "", - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "is_full_width": true, - "is_hidden": true, - "model_library_url": null, - "name": "Alaska Full Map", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": true, - "show_in_featured_question_report": true, - "url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", - "type": "MwInteractive", - "ref_id": "96755-MwInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Image Interactive", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Sunshine\",\"correct\":false},{\"id\":\"2\",\"content\":\"Snow\",\"correct\":false},{\"id\":\"3\",\"content\":\"Rain\",\"correct\":true}],\"prompt\":\"

    What does the symbol on Tuesday mean?

    \\n

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1267-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A sweater, some pants, and either an umbrella or a rain jacket because it’s not too cold or too warm but it is supposed to be raining.\",\"correct\":true},{\"id\":\"2\",\"content\":\"My parka/big fluffy coat, snow pants, snow boots, and ski goggles because snow will be falling.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Shorts and T-shirt with sunglasses because it will be sunny and hot.\",\"correct\":false}],\"prompt\":\"

    Based on the weather forecast, what would you wear on Tuesday morning?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1268-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "carousel", + "id": 143199, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Making a Prediction", + "position": 5, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    MAKING A PREDICTION

    \r\n

    Can you determine at night what the weather will be the following morning? What kind of information goes into a weather prediction?

    \r\n

    You have been planning to go to the NYO Games in Anchorage on April 23 at 7 am. This event has been planned for months and you are expecting that about 500 students will compete from all over the state. One of your jobs is to watch the weather and determine if the event is safe to proceed as planned, or if it should be postponed or cancelled.

    \r\n

    Below is an Alaska weather dataset from weather stations that includes temperature, precipitation, wind speed, and wind direction.

    \r\n

    The data from the weather stations are organized to show information for a 24-hour time period.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147487-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1297-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }, { - "embeddable": { - "name": null, - "url_fragment": null, - "authored_state": null, - "is_hidden": true, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": null, - "type": "ManagedInteractive", - "ref_id": "1298-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"\u003Cp\u003EClick through the radar images which provide precipitation changes for a 24-hour time period.\u003C/p\u003E\",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}]}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "d28c5f7719a5e637904c6b1de2d0036ba4f76313", - "data": { + { + "embeddable": { "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/carousel/", + "authored_state": "", "click_to_play": false, "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, + "enable_learner_state": false, "full_window": false, "has_report_url": false, "image_url": null, - "name": "Carousel Interactive", + "is_full_width": true, + "is_hidden": true, + "model_library_url": null, + "name": "Alaska Full Map", "native_height": 435, "native_width": 576, "no_snapshots": false, "show_delete_data_button": true, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "show_in_featured_question_report": true, + "url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "type": "MwInteractive", + "ref_id": "96755-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "1316-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat do you predict the weather will be at 7am in Anchorage on April 23rd? Will it be raining in Anchorage or not? Please include a number for the temperature, for example 75 degrees F. in your explanation.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1297-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "1434-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"likert\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"6cf707ea-431c-4873-b351-7ce8fe6af548\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"42e03e94-4e9d-4d84-89d8-71efb91ea9bd\"}],\"prompt\":\"\u003Cp\u003EHow confident are you of your prediction?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1298-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "1350-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143338, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Quiz", - "position": 6, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148889-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How the air feels and the sky looks when I go outside\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The condition of the air that surrounds the Earth at a particular time and place\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) What the sky will do at any given time\",\"correct\":false},{\"content\":\"d) Rain, snow, sleet, hail, sunshine, clouds\",\"correct\":false,\"id\":\"17adffb5-75c5-445c-97ba-7c8bc40428a5\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition for the word \u201cweather\u201d?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"

    Click through the radar images which provide precipitation changes for a 24-hour time period.

    \",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "d28c5f7719a5e637904c6b1de2d0036ba4f76313", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/carousel/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Carousel Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1316-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "2012-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Forecast based on evidence about a future event\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Having a premonition\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) When you know something is going to happen\",\"correct\":false},{\"content\":\"d) Forecast based on evidence about past events\",\"correct\":false,\"id\":\"cc1298b9-983c-4665-8259-1846d12d93bc\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition for the word \u201cprediction\u201d?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What do you predict the weather will be at 7am in Anchorage on April 23rd? Will it be raining in Anchorage or not? Please include a number for the temperature, for example 75 degrees F. in your explanation.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1434-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "2013-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"ec77134a-e481-44b6-ae6b-3c946755ecae\"}],\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"likert\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"6cf707ea-431c-4873-b351-7ce8fe6af548\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"42e03e94-4e9d-4d84-89d8-71efb91ea9bd\"}],\"prompt\":\"

    How confident are you of your prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1350-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143338, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148889-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2014-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To focus on my work\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To learn something about weather\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) To predict the weather at 7am in Anchorage on April 23rd\",\"correct\":true},{\"content\":\"d) To get into the NYO Games\",\"correct\":false,\"id\":\"71d0bbc7-d5bd-47f8-9be5-1f1591c8918e\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is your challenge for this weather unit?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How the air feels and the sky looks when I go outside\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The condition of the air that surrounds the Earth at a particular time and place\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) What the sky will do at any given time\",\"correct\":false},{\"content\":\"d) Rain, snow, sleet, hail, sunshine, clouds\",\"correct\":false,\"id\":\"17adffb5-75c5-445c-97ba-7c8bc40428a5\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition for the word “weather”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2012-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2015-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) First, click on the word\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Second, look at the picture and read the caption\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Third, try to write my own definition for the word\",\"correct\":false},{\"content\":\"d) Fourth, read the actual definition and watch the video if needed\",\"correct\":false,\"id\":\"76ac086c-1572-48f3-bceb-944f20697651\"},{\"content\":\"e) All of the above\",\"correct\":true,\"id\":\"9a77ae48-7532-44cd-9112-58d1b87c5470\"},{\"content\":\"f) Only answers C and D\",\"correct\":false,\"id\":\"cdcb1029-a50e-4f9b-af8c-62eeb16fc034\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EHow do you use the glossary? \u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Forecast based on evidence about a future event\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Having a premonition\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) When you know something is going to happen\",\"correct\":false},{\"content\":\"d) Forecast based on evidence about past events\",\"correct\":false,\"id\":\"cc1298b9-983c-4665-8259-1846d12d93bc\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition for the word “prediction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2013-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"ec77134a-e481-44b6-ae6b-3c946755ecae\"}],\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2014-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2016-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To focus on my work\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To learn something about weather\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) To predict the weather at 7am in Anchorage on April 23rd\",\"correct\":true},{\"content\":\"d) To get into the NYO Games\",\"correct\":false,\"id\":\"71d0bbc7-d5bd-47f8-9be5-1f1591c8918e\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is your challenge for this weather unit?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2015-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) First, click on the word\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Second, look at the picture and read the caption\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Third, try to write my own definition for the word\",\"correct\":false},{\"content\":\"d) Fourth, read the actual definition and watch the video if needed\",\"correct\":false,\"id\":\"76ac086c-1572-48f3-bceb-944f20697651\"},{\"content\":\"e) All of the above\",\"correct\":true,\"id\":\"9a77ae48-7532-44cd-9112-58d1b87c5470\"},{\"content\":\"f) Only answers C and D\",\"correct\":false,\"id\":\"cdcb1029-a50e-4f9b-af8c-62eeb16fc034\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do you use the glossary?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2016-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } } - }], + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json index 44c971aa..b5e81d29 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json @@ -13,273 +13,291 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143587, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Estimate the Temperature?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying\u0026nbsp;weather. The students will make a computer model to predict\u0026nbsp;weather\u0026nbsp;in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31\u02da and 59\u02da.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png\" alt=\"\" width=\"550\" height=\"62\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should use the number that is exactly halfway in between 31\u02daand 59\u02da. That\u0026rsquo;s the most exact way to estimate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should mark a number line along the map with the estimate in each square going up the same amount between 31\u02da and 59\u02da. That\u0026rsquo;d be the best estimate.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EIt doesn\u0026rsquo;t make sense to estimate the temperature at the X. We\u0026rsquo;d need to go there and measure the temperature. You can\u0026rsquo;t be confident unless you measure it.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThe X is closer to the 59\u02da than to the 31\u02da, so let\u0026rsquo;s choose a number closer to 59\u02da. That\u0026rsquo;s the best we can do because we don\u0026rsquo;t know what\u0026rsquo;s happening with the weather in those places.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147889-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143587, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n
    ClassClassActivity
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147889-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1684-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1684-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1685-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", - "show_as_menu": false, - "show_in_featured_question_report": true, - "choices": [{ - "choice": "Alex", - "is_correct": false, - "prompt": "" - }, { - "choice": "Delana", - "is_correct": false, - "prompt": "" - }, { - "choice": "Kalin", - "is_correct": false, - "prompt": "" - }, { - "choice": "Sage", - "is_correct": false, - "prompt": "" - }], - "type": "Embeddable::MultipleChoice", - "ref_id": "17136-Embeddable::MultipleChoice" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1685-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10226-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17136-Embeddable::MultipleChoice" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10227-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10226-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10228-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10227-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (It doesn’t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that “you’ve got to see it to believe it.” \\n\\nStudents who choose Kalin’s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what’s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there’s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n•\\t**Both Alex’s response (choose the value half way between)** and **Sage’s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex’s and/or Sage’s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n•\\t**Delana’s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana’s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10228-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } } - }], + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json index 5a0aa7a9..53690bf6 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json @@ -13,273 +13,291 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143495, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Estimate the Temperature?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is studying\u0026nbsp;weather. The students will make a computer model to predict\u0026nbsp;weather\u0026nbsp;in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31\u02da and 59\u02da.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png\" alt=\"\" width=\"550\" height=\"62\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should use the number that is exactly halfway in between 31\u02daand 59\u02da. That\u0026rsquo;s the most exact way to estimate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should mark a number line along the map with the estimate in each square going up the same amount between 31\u02da and 59\u02da. That\u0026rsquo;d be the best estimate.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EIt doesn\u0026rsquo;t make sense to estimate the temperature at the X. We\u0026rsquo;d need to go there and measure the temperature. You can\u0026rsquo;t be confident unless you measure it.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThe X is closer to the 59\u02da than to the 31\u02da, so let\u0026rsquo;s choose a number closer to 59\u02da. That\u0026rsquo;s the best we can do because we don\u0026rsquo;t know what\u0026rsquo;s happening with the weather in those places.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147795-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143495, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147795-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1658-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1658-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1649-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", - "show_as_menu": false, - "show_in_featured_question_report": true, - "choices": [{ - "choice": "Alex", - "is_correct": false, - "prompt": "" - }, { - "choice": "Delana", - "is_correct": false, - "prompt": "" - }, { - "choice": "Kalin", - "is_correct": false, - "prompt": "" - }, { - "choice": "Sage", - "is_correct": false, - "prompt": "" - }], - "type": "Embeddable::MultipleChoice", - "ref_id": "17135-Embeddable::MultipleChoice" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1649-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10214-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17135-Embeddable::MultipleChoice" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10215-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10214-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10216-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10215-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (It doesn’t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that “you’ve got to see it to believe it.” \\n\\nStudents who choose Kalin’s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what’s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there’s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n•\\t**Both Alex’s response (choose the value half way between)** and **Sage’s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex’s and/or Sage’s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n•\\t**Delana’s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana’s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10216-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } } - }], + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2.json b/src/public/offline-activities/precipitating-change-v4/lesson-2.json index c650371b..f8a545c3 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-2.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2.json @@ -1,5 +1,5 @@ { - "description": "\u003Cp\u003EHow can weather from the past inform future weather predictions?\u003C/p\u003E", + "description": "

    How can weather from the past inform future weather predictions?

    ", "editor_mode": 0, "layout": 0, "name": "Alaska 2021 - Lesson 2: Displaying Temperature Data ", @@ -13,2840 +13,2943 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143620, - "is_completion": false, - "is_hidden": false, - "layout": "l-6040", - "name": "Real World Application", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how temperature plays an important part in predicting weather.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147936-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143620, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how temperature plays an important part in predicting weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147936-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1705-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }] - }, { - "additional_sections": null, - "embeddable_display_mode": "stacked", - "id": 143207, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Opening", - "position": 2, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EHave you ever wondered why some temperature displays are in color (for instance, television weather reports), but a thermometer displays temperature in numbers? Or how weather apps can tell you what the temperature is wherever you are? In this lesson, you are going to learn what it means to display temperature for mainland Alaska.\u003C/p\u003E\r\n\u003Cp\u003EAs\u0026nbsp; weather scientists (meteorologists), you will experience a virtual storm event in your classroom. As the virtual storm event occurs, you and your research team will collect and record temperature data.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EAs part of your lesson challenge, you will need to determine how to capture the data, how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147375-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "Holder for Kevin's video", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1705-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143207, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever wondered why some temperature displays are in color (for instance, television weather reports), but a thermometer displays temperature in numbers? Or how weather apps can tell you what the temperature is wherever you are? In this lesson, you are going to learn what it means to display temperature for mainland Alaska.

    \r\n

    As  weather scientists (meteorologists), you will experience a virtual storm event in your classroom. As the virtual storm event occurs, you and your research team will collect and record temperature data. 

    \r\n

    As part of your lesson challenge, you will need to determine how to capture the data, how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147375-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1706-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 2: DISPLAYING DATA:\\n\\n**HOW CAN WEATHER FROM THE PAST INFORM FUTURE WEATHER PREDICTIONS?**\\n\\nIn this lesson, students are introduced to the virtual storm technology by experiencing a weather event move through their classroom. A weather station collects data about the current weather at a specific location. The strategic placement of multiple stations and use of digital tools and mathematical concepts allows weather scientists to create a more accurate and complete model/visualization of the weather over a region and analyze it for patterns and trends. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Take a limited amount of information and develop a more complete picture of the weather (create a weather visualization)\\n\\n* Explain a weather map using traditional weather symbols and codes (weather stations with temperature)\\n\\n* Make minimally informed predictions about future weather events\\n\\n* Explain that weather varies over time\\n\\nComputational Thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Data Aggregation | Describes the data collection and organization process you use to better understand the topic. | Students will collect temperature data from tablet/laptop and organize the data in charts on the wall. |\\n| Data Abstraction | Simplifying data to make it easier to interpret and find patterns. | Students will come up with a color scheme for temperature and change how the data is represented from numbers to temperature categories, and then to colors. |\\n| Interpolation | Estimating an unknown value based on surrounding information. | Students will make best guess estimates of the temperatures that are missing on the map. |\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students collect data in two rounds and see patterns of data moving across the charts. Before and after each data collection they will interpolate data. They will discover that warm and cold spots on the map are consistently on certain sides, and also see these spots change over time. |\\n| Extrapolation | Following a pattern beyond the known data points. | Students predict future weather based on patterns they observe in the changing temperatures they collected and visualized. |\\n \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "Holder for Kevin's video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1706-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9759-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME \\t 2 class periods with Pre-Assessment (80 mins)\\n\\n**KEY ACTIVITIES:**\\nOpening - (5 mins)\\n\\nActivity 1 - Virtual Storm (30 mins)\\n\\nActivity 2 - Interpolating Weather Station Data (20 mins)\\n\\nActivity 3 - Virtual Storm (15 mins)\\n\\nPost-Assessment - How Should We Estimate the Temperature? (10 mins)\\n\\n### MATERIALS AND SET-UP\\nActivity 1 - Virtual Storm: Displaying Temperature Data\\n \\nThis activity requires significant setup time and you may want to plan a few hours to transform the classroom into a 7x7 gridded space and to test and set up the iPads/laptops. \\n\\n**Per Research Team (2-4 students):**\\n\\n* Marker\\n* 3\\\" x 3\\\" sticky notes in the following colors: blue, green, yellow, red, purple, orange\\n* Fully charged and connected iPad/laptop that can display the online activity\\n* Set of colored pencils (for individual student sheets)\\n\\n**Per Class:**\\n\\n* Click [HERE](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf) and print \u201cA-G\u201d and \\\"1-7\\\" coordinates in the largest font possible.\\n\\n* Push desks to walls to get as much open space in your classroom as possible.\\n\\n* Tape labels to the classroom walls, evenly spaced. Make sure the letters are on opposite walls and the numbers on walls opposite, mirroring each other. See image below for an example:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GridSetUpExampleRESIZED.png)\\n\\n* Students should be able to stand in the grid. For example, the smiley face represents a student standing in G6. Adapt the grid points to what you have available in your learning space.\\n\\n**Weather maps:**\\n\\n* Place four large poster-sized sheets of gridded paper on a classroom wall, organizing the chart paper in a row. Each sheet will contain a 7 x 7 grid with axes labeled to match the room set-up. Click [HERE](https://youtu.be/HD_6BAHib1A) to watch a tutorial on how to create weather map grids for your classroom. \\n\\n* Label the top of each sheet with a different time: 7:00 am, 11:00 am, 3:00 pm, and 7:00 pm, and organize them on the wall in order of the time.\\n\\n* Have students track the virtual weather event and record their group's data on the tracking sheet in their Science Notebook.\\n\\n**City Markers:**\\n\\n* Print five city markers by clicking [HERE - PDF](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf)\\n\\n* Place \\\"City Markers\\\" on the floor in the appropriate classroom grid locations that correspond to the map shown in the image below:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/AKGridMapResized.png)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 2: DISPLAYING DATA:\\n\\n**HOW CAN WEATHER FROM THE PAST INFORM FUTURE WEATHER PREDICTIONS?**\\n\\nIn this lesson, students are introduced to the virtual storm technology by experiencing a weather event move through their classroom. A weather station collects data about the current weather at a specific location. The strategic placement of multiple stations and use of digital tools and mathematical concepts allows weather scientists to create a more accurate and complete model/visualization of the weather over a region and analyze it for patterns and trends. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Take a limited amount of information and develop a more complete picture of the weather (create a weather visualization)\\n\\n* Explain a weather map using traditional weather symbols and codes (weather stations with temperature)\\n\\n* Make minimally informed predictions about future weather events\\n\\n* Explain that weather varies over time\\n\\nComputational Thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Data Aggregation | Describes the data collection and organization process you use to better understand the topic. | Students will collect temperature data from tablet/laptop and organize the data in charts on the wall. |\\n| Data Abstraction | Simplifying data to make it easier to interpret and find patterns. | Students will come up with a color scheme for temperature and change how the data is represented from numbers to temperature categories, and then to colors. |\\n| Interpolation | Estimating an unknown value based on surrounding information. | Students will make best guess estimates of the temperatures that are missing on the map. |\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students collect data in two rounds and see patterns of data moving across the charts. Before and after each data collection they will interpolate data. They will discover that warm and cold spots on the map are consistently on certain sides, and also see these spots change over time. |\\n| Extrapolation | Following a pattern beyond the known data points. | Students predict future weather based on patterns they observe in the changing temperatures they collected and visualized. |\\n \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9759-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9760-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 2.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME \\t 2 class periods with Pre-Assessment (80 mins)\\n\\n**KEY ACTIVITIES:**\\nOpening - (5 mins)\\n\\nActivity 1 - Virtual Storm (30 mins)\\n\\nActivity 2 - Interpolating Weather Station Data (20 mins)\\n\\nActivity 3 - Virtual Storm (15 mins)\\n\\nPost-Assessment - How Should We Estimate the Temperature? (10 mins)\\n\\n### MATERIALS AND SET-UP\\nActivity 1 - Virtual Storm: Displaying Temperature Data\\n \\nThis activity requires significant setup time and you may want to plan a few hours to transform the classroom into a 7x7 gridded space and to test and set up the iPads/laptops. \\n\\n**Per Research Team (2-4 students):**\\n\\n* Marker\\n* 3\\\" x 3\\\" sticky notes in the following colors: blue, green, yellow, red, purple, orange\\n* Fully charged and connected iPad/laptop that can display the online activity\\n* Set of colored pencils (for individual student sheets)\\n\\n**Per Class:**\\n\\n* Click [HERE](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf) and print “A-G” and \\\"1-7\\\" coordinates in the largest font possible.\\n\\n* Push desks to walls to get as much open space in your classroom as possible.\\n\\n* Tape labels to the classroom walls, evenly spaced. Make sure the letters are on opposite walls and the numbers on walls opposite, mirroring each other. See image below for an example:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GridSetUpExampleRESIZED.png)\\n\\n* Students should be able to stand in the grid. For example, the smiley face represents a student standing in G6. Adapt the grid points to what you have available in your learning space.\\n\\n**Weather maps:**\\n\\n* Place four large poster-sized sheets of gridded paper on a classroom wall, organizing the chart paper in a row. Each sheet will contain a 7 x 7 grid with axes labeled to match the room set-up. Click [HERE](https://youtu.be/HD_6BAHib1A) to watch a tutorial on how to create weather map grids for your classroom. \\n\\n* Label the top of each sheet with a different time: 7:00 am, 11:00 am, 3:00 pm, and 7:00 pm, and organize them on the wall in order of the time.\\n\\n* Have students track the virtual weather event and record their group's data on the tracking sheet in their Science Notebook.\\n\\n**City Markers:**\\n\\n* Print five city markers by clicking [HERE - PDF](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf)\\n\\n* Place \\\"City Markers\\\" on the floor in the appropriate classroom grid locations that correspond to the map shown in the image below:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/AKGridMapResized.png)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9760-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9761-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143208, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Weather Station - Data", - "position": 3, - "show_header": true, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EAs scientists, it is important to record temperature data for analysis and to predict future\u0026nbsp;weather\u0026nbsp;events.\u0026nbsp;\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "Displaying Temperature", - "type": "Embeddable::Xhtml", - "ref_id": "149056-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "content": "\u003Cp\u003EGather information from each weather station shown on the map below. Click\u0026nbsp;\u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun.\u003C/em\u003E\u0026nbsp;Then click each weather station to see the temperature observed for the communities across Alaska at the given time.\u003C/p\u003E\r\n\u003Cp\u003EThe boxes on the grid are called \u003Cem\u003Ecells\u003C/em\u003E and are identified with a letter and a number.\u0026nbsp;\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK", - "type": "Embeddable::Xhtml", - "ref_id": "149057-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Activity 1 - Virtual Storm: Visualizing Temperature \\n\\nIn this activity, students simulate the experience of a weather scientist collecting weather data for a large area and organizing it into useful maps to predict a future weather event. Students collaboratively negotiate what the data means, as well as how to accurately record the data and represent it so they can use the emerging pattern to predict a future weather event. The specific computational thinking practices highlighted and practiced in this activity are **Data Aggregation**, **Abstraction**, and **Interpolation**.\\n\\n###Activity Breakdown\\n**1. Setting the stage for the virtual storm.** The grid in the classroom represents a smaller region in Alaska than the area covered in the Lesson 1 radar images. This area includes the following cities: Bettles, Gelena, Nome, Noorvik, and St. Mary\u2019s. In their research teams, students collect temperature data every four hours throughout the region for an eight-hour period of time. \\n\\n* Have a student stand in a square and ask the class to identify the coordinates of where they are standing. Repeat until clear.\\n\\n**2. Round 1 - Starting the Virtual Storm technology. **\\n\\n* Ask research teams to select a student from their team to move to an unoccupied grid cell. \\n\\n* Launch the Virtual Storm technology and have another student from the team record the temperature in the selected cell onto the poster sheet labeled \\\"7:00 am.\\\" \\n\\n* Click \\\"PLAY\\\" on the Virtual Storm technology. Instruct the students to watch the clock in the Weather Sensor, and every four hours record the temperature readings onto the corresponding poster sheets on the walls (7:00 am, 11:00 am, 3:00 pm). After this round, all posters should have eight squares filled in. \\n\\n**3. Round 2 - Students gaining practice by repeating the process.**\\n\\n* Click the \u201cRESET\u201d button. Ask research groups to choose new positions on the grid. \\n* Run the simulation and encourage students to collect and record the data on the three maps again. At the end of this round, each chart should have 16 squares filled in on each chart.\\n\\n**4. Round 3 - Be more strategic.**\\n\\n* Let the research teams rethink their position and either stay or move to a more strategically chosen position.\\n\\n* Run the simulation again, asking students to record the data on three charts. At the end of this round, 24 squares should be filled in with temperature data.\\n\\n** 5. Class Discussion - Emerging patterns \u0026 abstraction.**\\n\\n* Help students develop a color scheme of their choosing, and suggest colored sticky notes for the scheme. Honor the way students want to do it and post the scheme on the wall. For example, students might come up with six temperature categories:\\n * 10-19\u00b0F/-12.2 to -7.2\u00b0C: purple (extremely cold)\\n * 20-29\u00b0F/-6.7 to -1.7\u00b0C: blue (very cold)\\n * 30-39\u00b0F/-1.1 to 3.9\u00b0C: green (cold)\\n * 40-49\u00b0F/4.4 to 9.4\u00b0C: yellow (cool)\\n * 50-59\u00b0F/10 to 15\u00b0C: orange (warm)\\n * 60-69\u00b0F/15.6 to 20.6\u00b0C: red (very warm)\\n\\n* Before going on, have students place the colored sticky notes with the temperatures written on them over the original temperatures. Each team is responsible for their first three postings. \\n\\n** 6. Round 4 - Interpolation test.** \\n\\n* Direct the research teams to choose a new positions on the grid and ask them to take a **\\\"GUESS\\\"** of what the temperature will be for each of the charts.\\n\\n* Run the simulation. Students use the correct colored post-it note for the actual temperature and write **\u201cACTUAL\u201d** on the note and place it over their previous guesses. At the end of this round, there should be 32 squares covered on each chart.\\n\\n**7. Class discussion - Introduce interpolation strategy.** Please see Interpolation Strategy discussion prompts in the Discussion Points below. \\n\\n**8. Round 5 - Repeat interpolation strategy.**\\n\\n* Students repeat Step 6 with the new Interpolation Strategy informing their decision. At the end of this round, there should be 40 squares covered on the chart. \\n\\n**9. Interpolate to Complete the Image.**\\n\\n* As a class, fill in the remaining nine squares on the charts with the agreed upon colored sticky notes. Do not run the simulation to check. At this time, the three charts should be completely filled in.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 2.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9761-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143208, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weather Station - Data", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As scientists, it is important to record temperature data for analysis and to predict future weather events. 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Displaying Temperature", + "type": "Embeddable::Xhtml", + "ref_id": "149056-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9762-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Location Selection Strategy\\n\\nWhen you ask research groups to choose new positions on the grid, before starting the simulation, have a short discussion on why they selected these locations. The discussion could unveil two potential strategies: \\n\\n1. Areas where data are very sparse (large open areas where we have no readings at all).\\n\\n2. Areas where we are beginning to see interesting trends and want to see whether the patterns we are observing will continue.\\n\\n###Emerging Patterns \u0026 Abstraction\\nAfter 24 squares have been filled in, ask students the following:\\n\\n* Do you see any emerging patterns in the data? \\n\\n* Why is it hard to determine patterns? Responses could include sparseness of data, but also difficulty of seeing patterns around the numerical representation of temperature.\\n\\n* How can we make it easier to see the temperature patterns? Answer: color code the numbers in a system. If students struggle with coming up with an answer, remind them how they tend to see temperature on common weather forecasts.\\n\\n###Data Abstraction (simplifying or generalizing data to analyze it for trends). \\nPossible prompts for the discussion:\\n\\n* Do you see any patterns with the color coding that you did not see before we added the post-it notes?\\n\\n* How does adding the color help? (It helps your perception: your eye is more easily able to see clusters and trends.)\\n\\n* Is there any disadvantage to using color instead of the numbers? (Yes, we lose detail. We can no longer tell the difference between a cell that was 44\u00b0 and one that was 46\u00b0.)\\n\\n###Interpolation Strategy\\nLead a class discussion reflecting on which guesses were right, wrong, and close. Possible prompts:\\n\\n* Which groups got their predictions right? What was their strategy?\\n\\n* Which groups got their predictions wrong? How close were they? What was their strategy?\\n\\n* Do you think real atmospheric scientists ever have to fill in data (\u201cguess\u201d) in between known data points? Why or why not?\\n\\n* What was your strategy/reasoning that informed your guess? \\n\\n* Which research group\u2019s strategies were successful? Which were not? \\n\\n* Any strategies you would like to use in the future?\\n\\n* Did you get better at guessing this time? Why or why not?\\n\\n* How reliable do you think these guesses or estimates are?\\n\\n\\n###Interpolation Introduction\\n\\nTell the students that what they have been doing when guessing is called interpolation, estimating an unknown value based on surrounding information.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "content": "

    Gather information from each weather station shown on the map below. Click Setup and Run. Then click each weather station to see the temperature observed for the communities across Alaska at the given time.

    \r\n

    The boxes on the grid are called cells and are identified with a letter and a number. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149057-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9763-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This Precipitating Change How To Tutorial can be shown to the whole class to give students a better understanding of their roles during the Virtual Storm activity. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"Virtual Storm Student Guide,\\\" 2019. \",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20Virtual%20Storm%20Student%20Guide.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Activity 1 - Virtual Storm: Visualizing Temperature \\n\\nIn this activity, students simulate the experience of a weather scientist collecting weather data for a large area and organizing it into useful maps to predict a future weather event. Students collaboratively negotiate what the data means, as well as how to accurately record the data and represent it so they can use the emerging pattern to predict a future weather event. The specific computational thinking practices highlighted and practiced in this activity are **Data Aggregation**, **Abstraction**, and **Interpolation**.\\n\\n###Activity Breakdown\\n**1. Setting the stage for the virtual storm.** The grid in the classroom represents a smaller region in Alaska than the area covered in the Lesson 1 radar images. This area includes the following cities: Bettles, Gelena, Nome, Noorvik, and St. Mary’s. In their research teams, students collect temperature data every four hours throughout the region for an eight-hour period of time. \\n\\n* Have a student stand in a square and ask the class to identify the coordinates of where they are standing. Repeat until clear.\\n\\n**2. Round 1 - Starting the Virtual Storm technology. **\\n\\n* Ask research teams to select a student from their team to move to an unoccupied grid cell. \\n\\n* Launch the Virtual Storm technology and have another student from the team record the temperature in the selected cell onto the poster sheet labeled \\\"7:00 am.\\\" \\n\\n* Click \\\"PLAY\\\" on the Virtual Storm technology. Instruct the students to watch the clock in the Weather Sensor, and every four hours record the temperature readings onto the corresponding poster sheets on the walls (7:00 am, 11:00 am, 3:00 pm). After this round, all posters should have eight squares filled in. \\n\\n**3. Round 2 - Students gaining practice by repeating the process.**\\n\\n* Click the “RESET” button. Ask research groups to choose new positions on the grid. \\n* Run the simulation and encourage students to collect and record the data on the three maps again. At the end of this round, each chart should have 16 squares filled in on each chart.\\n\\n**4. Round 3 - Be more strategic.**\\n\\n* Let the research teams rethink their position and either stay or move to a more strategically chosen position.\\n\\n* Run the simulation again, asking students to record the data on three charts. At the end of this round, 24 squares should be filled in with temperature data.\\n\\n** 5. Class Discussion - Emerging patterns & abstraction.**\\n\\n* Help students develop a color scheme of their choosing, and suggest colored sticky notes for the scheme. Honor the way students want to do it and post the scheme on the wall. For example, students might come up with six temperature categories:\\n * 10-19°F/-12.2 to -7.2°C: purple (extremely cold)\\n * 20-29°F/-6.7 to -1.7°C: blue (very cold)\\n * 30-39°F/-1.1 to 3.9°C: green (cold)\\n * 40-49°F/4.4 to 9.4°C: yellow (cool)\\n * 50-59°F/10 to 15°C: orange (warm)\\n * 60-69°F/15.6 to 20.6°C: red (very warm)\\n\\n* Before going on, have students place the colored sticky notes with the temperatures written on them over the original temperatures. Each team is responsible for their first three postings. \\n\\n** 6. Round 4 - Interpolation test.** \\n\\n* Direct the research teams to choose a new positions on the grid and ask them to take a **\\\"GUESS\\\"** of what the temperature will be for each of the charts.\\n\\n* Run the simulation. Students use the correct colored post-it note for the actual temperature and write **“ACTUAL”** on the note and place it over their previous guesses. At the end of this round, there should be 32 squares covered on each chart.\\n\\n**7. Class discussion - Introduce interpolation strategy.** Please see Interpolation Strategy discussion prompts in the Discussion Points below. \\n\\n**8. Round 5 - Repeat interpolation strategy.**\\n\\n* Students repeat Step 6 with the new Interpolation Strategy informing their decision. At the end of this round, there should be 40 squares covered on the chart. \\n\\n**9. Interpolate to Complete the Image.**\\n\\n* As a class, fill in the remaining nine squares on the charts with the agreed upon colored sticky notes. Do not run the simulation to check. At this time, the three charts should be completely filled in.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9762-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9764-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Once you launch the Virtual Storm by clicking \\\"PLAY\\\", the students will watch the clock and record the temperature readings onto the corresponding weather map poster sheets on the wall every four hours (7:00 am, 11:00 am, 3:00 pm). Follow the steps provided in the Theory \u0026 Background section to guide the students to complete the weather maps.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"The Virtual Storm Interactive Alaska,\\\" 2019.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Location Selection Strategy\\n\\nWhen you ask research groups to choose new positions on the grid, before starting the simulation, have a short discussion on why they selected these locations. The discussion could unveil two potential strategies: \\n\\n1. Areas where data are very sparse (large open areas where we have no readings at all).\\n\\n2. Areas where we are beginning to see interesting trends and want to see whether the patterns we are observing will continue.\\n\\n###Emerging Patterns & Abstraction\\nAfter 24 squares have been filled in, ask students the following:\\n\\n* Do you see any emerging patterns in the data? \\n\\n* Why is it hard to determine patterns? Responses could include sparseness of data, but also difficulty of seeing patterns around the numerical representation of temperature.\\n\\n* How can we make it easier to see the temperature patterns? Answer: color code the numbers in a system. If students struggle with coming up with an answer, remind them how they tend to see temperature on common weather forecasts.\\n\\n###Data Abstraction (simplifying or generalizing data to analyze it for trends). \\nPossible prompts for the discussion:\\n\\n* Do you see any patterns with the color coding that you did not see before we added the post-it notes?\\n\\n* How does adding the color help? (It helps your perception: your eye is more easily able to see clusters and trends.)\\n\\n* Is there any disadvantage to using color instead of the numbers? (Yes, we lose detail. We can no longer tell the difference between a cell that was 44° and one that was 46°.)\\n\\n###Interpolation Strategy\\nLead a class discussion reflecting on which guesses were right, wrong, and close. Possible prompts:\\n\\n* Which groups got their predictions right? What was their strategy?\\n\\n* Which groups got their predictions wrong? How close were they? What was their strategy?\\n\\n* Do you think real atmospheric scientists ever have to fill in data (“guess”) in between known data points? Why or why not?\\n\\n* What was your strategy/reasoning that informed your guess? \\n\\n* Which research group’s strategies were successful? Which were not? \\n\\n* Any strategies you would like to use in the future?\\n\\n* Did you get better at guessing this time? Why or why not?\\n\\n* How reliable do you think these guesses or estimates are?\\n\\n\\n###Interpolation Introduction\\n\\nTell the students that what they have been doing when guessing is called interpolation, estimating an unknown value based on surrounding information.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9763-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9765-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56\u00b0F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57\u00b0F\",\"correct\":false},{\"content\":\"58\u00b0F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik (cell C-2) at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This Precipitating Change How To Tutorial can be shown to the whole class to give students a better understanding of their roles during the Virtual Storm activity. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"Virtual Storm Student Guide,\\\" 2019. \",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20Virtual%20Storm%20Student%20Guide.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9764-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1708-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"55\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"56\u00b0F\",\"correct\":false},{\"content\":\"57\u00b0F\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome (cell B-4) at 7am?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Once you launch the Virtual Storm by clicking \\\"PLAY\\\", the students will watch the clock and record the temperature readings onto the corresponding weather map poster sheets on the wall every four hours (7:00 am, 11:00 am, 3:00 pm). Follow the steps provided in the Theory & Background section to guide the students to complete the weather maps.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"The Virtual Storm Interactive Alaska,\\\" 2019.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9765-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1710-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "aspect_ratio_method": "DEFAULT", - "authored_state": "", - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "is_full_width": true, - "is_hidden": false, - "model_library_url": null, - "name": "Known and Unknown Temperature Measurements ", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": true, - "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", - "type": "MwInteractive", - "ref_id": "97687-MwInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143702, - "is_completion": false, - "is_hidden": false, - "layout": "l-6040", - "name": "First Prediction", - "position": 4, - "show_header": false, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003ENow you know how to gather information from one weather station at a time.\u0026nbsp; But what about all the places on the map that do not have a weather station?\u003C/p\u003E", - "is_callout": true, - "is_full_width": false, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148032-Embeddable::Xhtml" - }, - "section": null - }, { - "embeddable": { - "content": "\u003Cp\u003ELook at the data in the map below. Try to predict what the temperature will be in the cells labeled with a question mark.\u003C/p\u003E", - "is_callout": true, - "is_full_width": false, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148033-Embeddable::Xhtml" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-A1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell A-1. [blank-A1]\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "aace5b2f57919f26891d77ac3e14744470800215", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Fill In The Blank", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56°F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57°F\",\"correct\":false},{\"content\":\"58°F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"

    What is the temperature in Noorvik (cell C-2) at 7am?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1708-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1785-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-G3]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell G-3. [blank-G3]\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "aace5b2f57919f26891d77ac3e14744470800215", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Fill In The Blank", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"55°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"56°F\",\"correct\":false},{\"content\":\"57°F\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"

    What is the temperature in Nome (cell B-4) at 7am?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1710-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1787-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-B7]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for cell B-7. [blank-B7]\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "aace5b2f57919f26891d77ac3e14744470800215", - "data": { + { + "embeddable": { "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "authored_state": "", "click_to_play": false, "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, + "enable_learner_state": false, "full_window": false, "has_report_url": false, "image_url": null, - "name": "Fill In The Blank", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Known and Unknown Temperature Measurements ", "native_height": 435, "native_width": 576, "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", + "type": "MwInteractive", + "ref_id": "97687-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143702, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "First Prediction", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Now you know how to gather information from one weather station at a time.  But what about all the places on the map that do not have a weather station?

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148032-Embeddable::Xhtml" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1788-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"There are no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is no other data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It\u2019s difficult to see any patterns with only 8 community\u2019s weather station data.\",\"correct\":false},{\"content\":\"All of the above.\",\"correct\":true,\"id\":\"d0e3f559-c3b2-4ca2-92ee-3638f5a45188\"}],\"prompt\":\"\u003Cp\u003EWhy is it difficult to make predictions for these locations?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "content": "

    Look at the data in the map below. Try to predict what the temperature will be in the cells labeled with a question mark.

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148033-Embeddable::Xhtml" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1789-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Image Interactive", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-A1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell A-1. [blank-A1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1785-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1786-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143624, - "is_completion": false, - "is_hidden": false, - "layout": "l-6040", - "name": "Second Prediction", - "position": 5, - "show_header": false, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003ELook at the data in the map to the right.\u0026nbsp; Now, try to predict what the temperature will be in the cells with a question mark.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "Task", - "type": "Embeddable::Xhtml", - "ref_id": "147941-Embeddable::Xhtml" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":3}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell A-1. [blank-1]\u003C/p\u003E\",\"required\":false}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "aace5b2f57919f26891d77ac3e14744470800215", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Fill In The Blank", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-G3]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell G-3. [blank-G3]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1787-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1715-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell G-3. [blank-1]\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "aace5b2f57919f26891d77ac3e14744470800215", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Fill In The Blank", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-B7]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell B-7. [blank-B7]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1788-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1716-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for Cell B-7. [blank-1]\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "aace5b2f57919f26891d77ac3e14744470800215", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Fill In The Blank", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"There are no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is no other data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It’s difficult to see any patterns with only 8 community’s weather station data.\",\"correct\":false},{\"content\":\"All of the above.\",\"correct\":true,\"id\":\"d0e3f559-c3b2-4ca2-92ee-3638f5a45188\"}],\"prompt\":\"

    Why is it difficult to make predictions for these locations?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1789-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1717-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A. It\u2019s not easy, there are still no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B. There is a lot more data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. It\u2019s easier to see any patterns when more data is given.\",\"correct\":false},{\"content\":\"Both B and C.\",\"correct\":true,\"id\":\"b2eba22d-1bbc-4f20-a1c8-c534e9b6085c\"},{\"content\":\"Both A and B.\",\"correct\":false,\"id\":\"283878d3-83dc-407a-a6ab-972efc498d7a\"}],\"prompt\":\"\u003Cp\u003EWhy is it easier to predict the temperature more accurately on this data chart?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1786-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143624, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Second Prediction", + "position": 5, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Look at the data in the map to the right.  Now, try to predict what the temperature will be in the cells with a question mark.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147941-Embeddable::Xhtml" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1718-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Image Interactive", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":3}],\"prompt\":\"

    Enter a prediction for Cell A-1. [blank-1]

    \",\"required\":false}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1715-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1755-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": null, - "embeddable_display_mode": "stacked", - "id": 143209, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Interpolation", - "position": 6, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EHow do you think weather scientists (meteorologists) fill in data for missing locations? Scientists have many methods for constructing unknown data between known data points. This is called data\u0026nbsp;interpolation.\u003C/p\u003E\n\u003Cp\u003EThere are many different methods to interpolate data. Let\u0026rsquo;s look at the three\u0026nbsp;interpolation\u0026nbsp;methods used to make these maps.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKABCinterpolationtemp.jpg\" alt=\"\" width=\"484\" height=\"383\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003ENearest Neighbor Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square A, you may have guessed 54\u0026deg;F degrees or something very close to that. This is the simplest\u0026nbsp;interpolation\u0026nbsp;method. It is called\u0026nbsp;\u003Cstrong\u003ENearest Neighbor\u003C/strong\u003E. With this method, you find the nearest\u0026nbsp;weather station to the unknown point and assume it has a similar temperature.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003E\u003Cstrong\u003ELinear Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square B, you may have guessed between 38\u0026deg;F and 50\u0026deg;F, but closer to 50\u0026deg;F. Since this square is between two known temperatures, the unknown temperature is probably between 38\u0026deg;F and 50\u0026deg;F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKlinearinterpolation.jpg\" alt=\"\" width=\"310\" height=\"151\" /\u003E\u003C/p\u003E\n\u003Cp\u003EThis method is called\u003Cstrong\u003E Linear Interpolation\u003C/strong\u003E.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003E\u003Cstrong\u003EWeighted Average Interpolation\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFor Square C, the square is between other squares at 30\u0026deg;F, 48\u0026deg;F, and 50\u0026deg;F. You could average the three numbers and get approximately 43\u0026deg;F. Or you could try to be even more precise. The unknown square is closer to the 50\u0026deg;F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45\u0026deg;F or 46\u0026deg;F). This method is called\u0026nbsp;\u003Cstrong\u003EWeighted Average\u0026nbsp;Interpolation\u003C/strong\u003E\u0026nbsp;since we give more \u0026ldquo;weight\u0026rdquo; or influence to the closer stations.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKweightedneigborinterpolation.jpg\" alt=\"\" width=\"453\" height=\"374\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147378-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Interpolating Weather Station Data\\n\\nStudents will work through three tasks that will deepen their understandings of the three interpolation methods (nearest neighbor, linear, and weighted average). \\n\\n**Teacher Note: Definitions of the Three Interpolation Methods**\\n\\n* **Nearest Neighbor Interpolation:** Find the nearest weather station to your unknown point, and assume it has the same temperature as the unknown.\\n\\n* **Linear Interpolation:** If an unknown is between two points, estimate a number that is between those two points, but closer to the point that it is geographically closer to. Temperature change between the two points should increase/decrease in regular intervals.\\n\\n* **Weighted Average Interpolation**: Choose three stations around your point, and estimate a number that is the average of the three. But, don\u2019t stop there. Try to be even more precise. If the unknown point is closer to one or two of the points, then estimate the unknown point closer in value to the stations it is nearer to.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for Cell G-3. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1716-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9766-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"f3ca8705-099e-4903-aea2-fe4ee99c0d22\"}],\"prompt\":\"\u003Cp\u003EIf two weather scientists were using the same data but different interpolation methods, could they get different results?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for Cell B-7. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1717-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1723-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Kevin Short Video", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A. It’s not easy, there are still no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B. There is a lot more data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. It’s easier to see any patterns when more data is given.\",\"correct\":false},{\"content\":\"Both B and C.\",\"correct\":true,\"id\":\"b2eba22d-1bbc-4f20-a1c8-c534e9b6085c\"},{\"content\":\"Both A and B.\",\"correct\":false,\"id\":\"283878d3-83dc-407a-a6ab-972efc498d7a\"}],\"prompt\":\"

    Why is it easier to predict the temperature more accurately on this data chart?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1718-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1725-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143210, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Interpolation (Cont.)", - "position": 7, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EEach of the following maps used the same station data but a different data\u0026nbsp;interpolation\u0026nbsp;method:\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AK-3-maps-interpolation.png\" width=\"900\" height=\"315\" /\u003E\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147379-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "Multiple Choice Question element", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":true,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 1 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1755-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143209, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolation", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How do you think weather scientists (meteorologists) fill in data for missing locations? Scientists have many methods for constructing unknown data between known data points. This is called data interpolation.

    \n

    There are many different methods to interpolate data. Let’s look at the three interpolation methods used to make these maps.

    \n

    \"\"

    \n

    Nearest Neighbor Interpolation

    \n

    For Square A, you may have guessed 54°F degrees or something very close to that. This is the simplest interpolation method. It is called Nearest Neighbor. With this method, you find the nearest weather station to the unknown point and assume it has a similar temperature.

    \n


    Linear Interpolation

    \n

    For Square B, you may have guessed between 38°F and 50°F, but closer to 50°F. Since this square is between two known temperatures, the unknown temperature is probably between 38°F and 50°F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.

    \n

    \"\"

    \n

    This method is called Linear Interpolation.

    \n


    Weighted Average Interpolation

    \n

    For Square C, the square is between other squares at 30°F, 48°F, and 50°F. You could average the three numbers and get approximately 43°F. Or you could try to be even more precise. The unknown square is closer to the 50°F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45°F or 46°F). This method is called Weighted Average Interpolation since we give more “weight” or influence to the closer stations.

    \n

    \"\"

    \n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147378-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1224-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Multiple Choice Question element", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 2 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Interpolating Weather Station Data\\n\\nStudents will work through three tasks that will deepen their understandings of the three interpolation methods (nearest neighbor, linear, and weighted average). \\n\\n**Teacher Note: Definitions of the Three Interpolation Methods**\\n\\n* **Nearest Neighbor Interpolation:** Find the nearest weather station to your unknown point, and assume it has the same temperature as the unknown.\\n\\n* **Linear Interpolation:** If an unknown is between two points, estimate a number that is between those two points, but closer to the point that it is geographically closer to. Temperature change between the two points should increase/decrease in regular intervals.\\n\\n* **Weighted Average Interpolation**: Choose three stations around your point, and estimate a number that is the average of the three. But, don’t stop there. Try to be even more precise. If the unknown point is closer to one or two of the points, then estimate the unknown point closer in value to the stations it is nearer to.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9766-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1225-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Multiple Choice Question element", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"\u003Cp\u003EWhich interpolation method does Map 3 use?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"f3ca8705-099e-4903-aea2-fe4ee99c0d22\"}],\"prompt\":\"

    If two weather scientists were using the same data but different interpolation methods, could they get different results?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1723-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1226-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": null, - "url_fragment": null, - "authored_state": null, - "is_hidden": true, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": null, - "type": "ManagedInteractive", - "ref_id": "1721-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143625, - "is_completion": false, - "is_hidden": false, - "layout": "l-6040", - "name": "Pattern Recognition", - "position": 8, - "show_header": false, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003ELook at the data in the map to the right.\u0026nbsp; Try to think of ways we could make this data easier for finding patterns.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "Task", - "type": "Embeddable::Xhtml", - "ref_id": "147942-Embeddable::Xhtml" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\" Forget the map and put all of the numbers in order like a number line.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Take the average of each column and each row for that part of Alaska.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Color code the data for certain temperatures. For example from 45-50 degrees F would be the color blue.\",\"correct\":true},{\"content\":\"Add every number together so that we get one really large number to work with. \",\"correct\":false,\"id\":\"eef89f7a-ecfd-48fa-80f7-973d6862bdb1\"}],\"prompt\":\"\u003Cp\u003EWhat is one way we can make this weather data easier to understand for predicting weather across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Kevin Short Video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1725-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143210, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolation (Cont.)", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Each of the following maps used the same station data but a different data interpolation method:

    \r\n

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147379-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1727-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Image Interactive", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":true,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 1 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1224-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1770-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143626, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Pattern Recognition (Cont.)", - "position": 9, - "show_header": true, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EOn the map below, click \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E. Then use the key to the right of the data map to drag and drop the color tiles over the correct temperature for that color\u0026rsquo;s temperature range. You can check your answers at any time.\u003C/p\u003E\r\n\u003Cp\u003EHint: To make coloring easier, a colored cell can be used to \"paint\" other cells by dragging over them.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK", - "type": "Embeddable::Xhtml", - "ref_id": "149058-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because all of the numbers would still be the same.\",\"correct\":false},{\"id\":\"2\",\"content\":\"No, because different students would put different temperatures for a color and that would make their map have a different color pattern. \",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIf each student in the class were to make their own color key, would we have all ended up with the same pattern at the end?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 2 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1225-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1728-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It gets warmer.\",\"correct\":true},{\"id\":\"2\",\"content\":\"It gets cooler.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It stays the same.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat happens to the temperatures at 7am as you travel to the southeast across Alaska?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 3 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1226-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1729-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes\",\"correct\":false},{\"id\":\"2\",\"content\":\"No\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWas it as easy to see this warming pattern before we added the colors?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1721-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143625, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Pattern Recognition", + "position": 8, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Look at the data in the map to the right.  Try to think of ways we could make this data easier for finding patterns.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147942-Embeddable::Xhtml" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1730-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EExplain your reason for the above answer.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\" Forget the map and put all of the numbers in order like a number line.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Take the average of each column and each row for that part of Alaska.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Color code the data for certain temperatures. For example from 45-50 degrees F would be the color blue.\",\"correct\":true},{\"content\":\"Add every number together so that we get one really large number to work with. \",\"correct\":false,\"id\":\"eef89f7a-ecfd-48fa-80f7-973d6862bdb1\"}],\"prompt\":\"

    What is one way we can make this weather data easier to understand for predicting weather across Alaska?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1727-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1731-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "aspect_ratio_method": "DEFAULT", - "authored_state": "", - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "is_full_width": true, - "is_hidden": false, - "model_library_url": null, - "name": "Abstracting Temperature Ranges with Color ", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": true, - "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", - "type": "MwInteractive", - "ref_id": "97688-MwInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143627, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Moving Weather Pattern", - "position": 10, - "show_header": true, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWow!\u0026nbsp; You made it.\u0026nbsp;You have predicted temperature for unknown locations using interpolation. Now you understand how temperature data can cover the map with a limited number of real measurements.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003ENow, you'll start looking for patterns of temperature changes over time.\u003C/p\u003E\r\n\u003Cp\u003EBelow you will see three maps of temperature data each one at a different time during one day. Study the changes of temperature over time looking for patterns in the data.\u0026nbsp;\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147944-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"The colder temperatures are moving from the northwest towards the southeast.\",\"correct\":true},{\"id\":\"2\",\"content\":\"The temperatures in the southeast are getting much warmer.\",\"correct\":false},{\"id\":\"3\",\"content\":\"The temperatures in the southeast are getting much cooler.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhat is happening to the temperatures as time goes from 7am to 3pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1770-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143626, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Pattern Recognition (Cont.)", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    On the map below, click Setup and Run. Then use the key to the right of the data map to drag and drop the color tiles over the correct temperature for that color’s temperature range. You can check your answers at any time.

    \r\n

    Hint: To make coloring easier, a colored cell can be used to \"paint\" other cells by dragging over them.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149058-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because all of the numbers would still be the same.\",\"correct\":false},{\"id\":\"2\",\"content\":\"No, because different students would put different temperatures for a color and that would make their map have a different color pattern. \",\"correct\":true}],\"prompt\":\"

    If each student in the class were to make their own color key, would we have all ended up with the same pattern at the end?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1728-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It gets warmer.\",\"correct\":true},{\"id\":\"2\",\"content\":\"It gets cooler.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It stays the same.\",\"correct\":false}],\"prompt\":\"

    What happens to the temperatures at 7am as you travel to the southeast across Alaska?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1729-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes\",\"correct\":false},{\"id\":\"2\",\"content\":\"No\",\"correct\":false}],\"prompt\":\"

    Was it as easy to see this warming pattern before we added the colors?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1730-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Explain your reason for the above answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1731-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1732-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Temperature Map at Three Times", - "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", - "data": { + { + "embeddable": { "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "authored_state": "", "click_to_play": false, "click_to_play_prompt": null, - "description": "", "enable_learner_state": false, "full_window": false, "has_report_url": false, "image_url": null, - "name": "Image Interactive", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Abstracting Temperature Ranges with Color ", "native_height": 435, "native_width": 576, "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "type": "MwInteractive", + "ref_id": "97688-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143627, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Moving Weather Pattern", + "position": 10, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Wow!  You made it. You have predicted temperature for unknown locations using interpolation. Now you understand how temperature data can cover the map with a limited number of real measurements. 

    \r\n

    Now, you'll start looking for patterns of temperature changes over time.

    \r\n

    Below you will see three maps of temperature data each one at a different time during one day. Study the changes of temperature over time looking for patterns in the data. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147944-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2090-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143628, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Future Weather Prediction", - "position": 11, - "show_header": true, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWeather scientists use patterns in known data over time to make predictions in the future.\u003C/p\u003E\r\n\u003Cp\u003ENow, you'll try predicting temperature for a future time. You will need to make a plan or \u003Cem\u003Estrategy\u003C/em\u003E to make a good prediction.\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147945-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "content": "\u003Cp\u003EThe map below shows temperature for three times separated by 4 hours.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cem\u003EYour job will be to predict the temperature for\u0026nbsp;\u003C/em\u003E\u003Cem\u003E\u003Cstrong\u003E4 hours after the last measurement shown.\u003C/strong\u003E\u003C/em\u003E\u003C/p\u003E\r\n\u003Cp\u003EThings to do and look for:\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003EUse the slider to see temperatures from 7am to 3pm.\u003C/li\u003E\r\n\u003Cli\u003ELook for patterns of temperature changes over time.\u003C/li\u003E\r\n\u003Cli\u003ETo see patterns, it may help to turn on and off the temperature data or the color key.\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\u003Cp\u003ERemember: always start by clicking \u003Cstrong\u003E\u003Cem\u003ESetup\u003C/em\u003E \u003C/strong\u003Eand \u003Cstrong\u003Ethen\u0026nbsp;\u003Cem\u003ERun\u003C/em\u003E\u003C/strong\u003E.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK", - "type": "Embeddable::Xhtml", - "ref_id": "149059-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "Noorvik patterns", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Noorvik11am]\",\"size\":5},{\"id\":\"[blank-Noorvik3pm]\",\"size\":5},{\"id\":\"[blank-Noorvik7am]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter the temperature in Noorvik (cell C-2) for 7am [blank-Noorvik7am], 11am [blank-Noorvik11am], and 3pm [blank-Noorvik3pm].\u003C/p\u003E\",\"hint\":\"\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "aace5b2f57919f26891d77ac3e14744470800215", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Fill In The Blank", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"The colder temperatures are moving from the northwest towards the southeast.\",\"correct\":true},{\"id\":\"2\",\"content\":\"The temperatures in the southeast are getting much warmer.\",\"correct\":false},{\"id\":\"3\",\"content\":\"The temperatures in the southeast are getting much cooler.\",\"correct\":false}],\"prompt\":\"

    What is happening to the temperatures as time goes from 7am to 3pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1732-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2143-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Noorvik prediction", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Noorvik at 7pm. [blank-1]\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "aace5b2f57919f26891d77ac3e14744470800215", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Fill In The Blank", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Temperature Map at Three Times", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2090-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143628, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction", + "position": 11, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Weather scientists use patterns in known data over time to make predictions in the future.

    \r\n

    Now, you'll try predicting temperature for a future time. You will need to make a plan or strategy to make a good prediction.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147945-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1736-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Nome patterns", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Nome7am]\",\"size\":5,\"matchTerm\":\"56\"},{\"id\":\"[blank-Nome11am]\",\"size\":5,\"matchTerm\":\"51\"},{\"id\":\"[blank-Nome3pm]\",\"size\":5,\"matchTerm\":\"46\"}],\"prompt\":\"\u003Cp\u003EEnter the temperature in Nome (cell B-4) at 7am [blank-Nome7am], 11am [blank-Nome11am], and 3pm [blank-Nome3pm].\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "aace5b2f57919f26891d77ac3e14744470800215", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Fill In The Blank", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "content": "

    The map below shows temperature for three times separated by 4 hours.

    \r\n

    Your job will be to predict the temperature for 4 hours after the last measurement shown.

    \r\n

    Things to do and look for:

    \r\n
      \r\n
    • Use the slider to see temperatures from 7am to 3pm.
    • \r\n
    • Look for patterns of temperature changes over time.
    • \r\n
    • To see patterns, it may help to turn on and off the temperature data or the color key.
    • \r\n
    \r\n

    Remember: always start by clicking Setup and then Run.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149059-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2144-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Nome prediction", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"\u003Cp\u003EEnter a prediction for the temperature in Nome at 7pm. [blank-1]\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "aace5b2f57919f26891d77ac3e14744470800215", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Fill In The Blank", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Noorvik patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Noorvik11am]\",\"size\":5},{\"id\":\"[blank-Noorvik3pm]\",\"size\":5},{\"id\":\"[blank-Noorvik7am]\",\"size\":5}],\"prompt\":\"

    Enter the temperature in Noorvik (cell C-2) for 7am [blank-Noorvik7am], 11am [blank-Noorvik11am], and 3pm [blank-Noorvik3pm].

    \",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2143-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1738-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Prediction Strategy", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDescribe your plan or strategy for making these predictions. For example, did you see a pattern in the temperatures that helped you come up with your prediction?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Noorvik prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for the temperature in Noorvik at 7pm. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1736-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2145-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "aspect_ratio_method": "DEFAULT", - "authored_state": "", - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "is_full_width": true, - "is_hidden": false, - "model_library_url": null, - "name": "Map with Three Observation Times", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": true, - "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", - "type": "MwInteractive", - "ref_id": "97689-MwInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143629, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Future Weather Prediction (Cont.)", - "position": 12, - "show_header": true, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EThe map on this page is just the same as the previous page except it includes the measurement for 7pm. Use the slider to compare your prediction to the measured data.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "Checking Your Prediction", - "type": "Embeddable::Xhtml", - "ref_id": "147948-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"37\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"38\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"39\u00b0F\",\"correct\":true},{\"content\":\"40\u00b0F\",\"correct\":false,\"id\":\"aa2fd593-c08e-40e2-a0fd-8c1af86eba2d\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Noorvik (cell C-2) at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Nome patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Nome7am]\",\"size\":5,\"matchTerm\":\"56\"},{\"id\":\"[blank-Nome11am]\",\"size\":5,\"matchTerm\":\"51\"},{\"id\":\"[blank-Nome3pm]\",\"size\":5,\"matchTerm\":\"46\"}],\"prompt\":\"

    Enter the temperature in Nome (cell B-4) at 7am [blank-Nome7am], 11am [blank-Nome11am], and 3pm [blank-Nome3pm].

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2144-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1739-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"39\u00b0F\",\"correct\":false},{\"id\":\"2\",\"content\":\"40\u00b0F\",\"correct\":false},{\"id\":\"3\",\"content\":\"41\u00b0F\",\"correct\":false},{\"content\":\"42\u00b0F\",\"correct\":true,\"id\":\"bdf4731a-c1e0-4794-9f9a-ef03e07668b2\"}],\"prompt\":\"\u003Cp\u003EWhat is the temperature in Nome (cell B-4) at 7pm?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Nome prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for the temperature in Nome at 7pm. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1738-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1741-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003E Does your prediction from the previous page match with the actual temperature for each city? If not, by how many degrees did they differ? Was your estimate high or low? \u003C/p\u003E\",\"hint\":\"\u003Cp\u003EHint: Subtract the estimate from the actual.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Prediction Strategy", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Describe your plan or strategy for making these predictions. For example, did you see a pattern in the temperatures that helped you come up with your prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2145-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1742-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Revised Patterns", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDid your strategy for predicting the temperature from the previous page work? Explain your answer.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { + { + "embeddable": { "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "authored_state": "", "click_to_play": false, "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, + "enable_learner_state": false, "full_window": false, "has_report_url": false, "image_url": null, - "name": "Open Response", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Map with Three Observation Times", "native_height": 435, "native_width": 576, "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "type": "MwInteractive", + "ref_id": "97689-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143629, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction (Cont.)", + "position": 12, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The map on this page is just the same as the previous page except it includes the measurement for 7pm. Use the slider to compare your prediction to the measured data.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Checking Your Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147948-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2146-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "aspect_ratio_method": "DEFAULT", - "authored_state": "", - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "is_full_width": true, - "is_hidden": false, - "model_library_url": null, - "name": "Temperature at Four Times", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": true, - "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", - "type": "MwInteractive", - "ref_id": "97691-MwInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": null, - "embeddable_display_mode": "stacked", - "id": 143211, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Quiz", - "position": 13, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EPlease check your knowledge of the information in this lesson with this short quiz.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147380-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Interpolation Highlights\\n* Remind students that this activity is similar to the \\\"guessing\\\" process they used in their previous activity to fill in the data chart. \\n\\n* Explain again that weather scientists don\u2019t have data for every location on earth and that they interpolate data to develop a more complete picture. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"37°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"38°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"39°F\",\"correct\":true},{\"content\":\"40°F\",\"correct\":false,\"id\":\"aa2fd593-c08e-40e2-a0fd-8c1af86eba2d\"}],\"prompt\":\"

    What is the temperature in Noorvik (cell C-2) at 7pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1739-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9767-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for A below:\\n\\nWeighted Average = 36\\nNearest Neighbor = 30\\nLinear = 32\\n\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "questionWrapper", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"39°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"40°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"41°F\",\"correct\":false},{\"content\":\"42°F\",\"correct\":true,\"id\":\"bdf4731a-c1e0-4794-9f9a-ef03e07668b2\"}],\"prompt\":\"

    What is the temperature in Nome (cell B-4) at 7pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1741-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "is_hidden": true, - "is_full_width": false, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9768-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for B below:\\nWeighted Average = 42\\nNearest Neighbor = 48\\nLinear = 44\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "questionWrapper", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Does your prediction from the previous page match with the actual temperature for each city? If not, by how many degrees did they differ? Was your estimate high or low?

    \",\"hint\":\"

    Hint: Subtract the estimate from the actual.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1742-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "is_hidden": true, - "is_full_width": false, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9769-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for C below:\\nWeighted Average = 48\\nNearest Neighbor = 54\\nLinear = 51\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "questionWrapper", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "Revised Patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did your strategy for predicting the temperature from the previous page work? Explain your answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2146-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9770-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Making a prediction in blank spaces\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of talking to your neighbor about your weight while standing in a line\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Estimating and unknown value based on surrounding information\",\"correct\":true},{\"content\":\"d) Copying data from weather stations into blank spaces\",\"correct\":false,\"id\":\"fea96b2e-26aa-4fbc-8022-ee8cf6d0f9f1\"}],\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cInterpolation\u201d?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { + { + "embeddable": { "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "authored_state": "", "click_to_play": false, "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, + "enable_learner_state": false, "full_window": false, "has_report_url": false, "image_url": null, - "name": "Multiple Choice", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Temperature at Four Times", "native_height": 435, "native_width": 576, "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "type": "MwInteractive", + "ref_id": "97691-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143211, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 13, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please check your knowledge of the information in this lesson with this short quiz.

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147380-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2003-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Weighted Average, Linear, Nearest Neighbor\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Weighted Neighbor, Linear Average, Nearest Common Denominator\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Weighted Linear, Nearest average, Friendly Neighbor\",\"correct\":false},{\"content\":\"d) Alphabetical, Numerical, Linear\",\"correct\":false,\"id\":\"95f3d0b0-6ada-4426-aae5-f91a7cfd469e\"}],\"enableCheckAnswer\":true,\"hint\":\"\",\"prompt\":\"\u003Cp\u003EWhat are the three forms of Interpolation you learned in this lesson?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Interpolation Highlights\\n* Remind students that this activity is similar to the \\\"guessing\\\" process they used in their previous activity to fill in the data chart. \\n\\n* Explain again that weather scientists don’t have data for every location on earth and that they interpolate data to develop a more complete picture. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9767-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2009-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It makes the map more interesting to look at so that people might want to watch the weather on television.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It makes it easier to see where the warmer air and cooler air is on the map instead of trying to look at individual numbers.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) Because it\u2019s fun to color things in.\",\"correct\":false}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhy does it help to color code temperatures on a weather map?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for A below:\\n\\nWeighted Average = 36\\nNearest Neighbor = 30\\nLinear = 32\\n\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9768-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2010-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) From the southeast towards the northwest\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) From the East to the West\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) From the West to the East\",\"correct\":false},{\"content\":\"d) From the northwest towards the southeast\",\"correct\":true,\"id\":\"7fef3354-d757-4411-b431-288e9469301c\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EIn the example that you have just worked with, which direction is the colder air moving?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for B below:\\nWeighted Average = 42\\nNearest Neighbor = 48\\nLinear = 44\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": false, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9769-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2011-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for C below:\\nWeighted Average = 48\\nNearest Neighbor = 54\\nLinear = 51\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "9770-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Making a prediction in blank spaces\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of talking to your neighbor about your weight while standing in a line\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Estimating and unknown value based on surrounding information\",\"correct\":true},{\"content\":\"d) Copying data from weather stations into blank spaces\",\"correct\":false,\"id\":\"fea96b2e-26aa-4fbc-8022-ee8cf6d0f9f1\"}],\"prompt\":\"

    What is the definition of the word “Interpolation”?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2003-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Weighted Average, Linear, Nearest Neighbor\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Weighted Neighbor, Linear Average, Nearest Common Denominator\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Weighted Linear, Nearest average, Friendly Neighbor\",\"correct\":false},{\"content\":\"d) Alphabetical, Numerical, Linear\",\"correct\":false,\"id\":\"95f3d0b0-6ada-4426-aae5-f91a7cfd469e\"}],\"enableCheckAnswer\":true,\"hint\":\"\",\"prompt\":\"

    What are the three forms of Interpolation you learned in this lesson?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2009-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It makes the map more interesting to look at so that people might want to watch the weather on television.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It makes it easier to see where the warmer air and cooler air is on the map instead of trying to look at individual numbers.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) Because it’s fun to color things in.\",\"correct\":false}],\"enableCheckAnswer\":true,\"prompt\":\"

    Why does it help to color code temperatures on a weather map?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2010-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) From the southeast towards the northwest\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) From the East to the West\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) From the West to the East\",\"correct\":false},{\"content\":\"d) From the northwest towards the southeast\",\"correct\":true,\"id\":\"7fef3354-d757-4411-b431-288e9469301c\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    In the example that you have just worked with, which direction is the colder air moving?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2011-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } } - }], + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json index 76eae46a..4161d811 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json @@ -1,5 +1,5 @@ { - "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "description": "

    Displaying Data: Where does it rain?

    ", "editor_mode": 0, "layout": 0, "name": "Alaska 2021 - Lesson 3: Post-thoughts - What Do You Think?", @@ -13,236 +13,248 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143592, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWhich Estimates Should We Trust?\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png\" width=\"555\" height=\"444\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas. (Each student\u0026rsquo;s estimated temperature choice is in \u003Cstrong\u003Ebold\u003C/strong\u003E to make it easier to find.)\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E53\u02da\u003C/strong\u003E because it\u0026rsquo;s furthest outside of the temperatures that were actually measured at a weather station.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E43\u02da\u003C/strong\u003E because it\u0026rsquo;s far away from any temperatures measured at a weather station.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E39\u02da\u003C/strong\u003E because there aren\u0026rsquo;t any other estimated temperatures near the 39\u02da estimate.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E37\u02da\u003C/strong\u003E because weather usually moves from west to east, so I\u0026rsquo;m unsure about estimates on the west side of the map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png\" alt=\"\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147898-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143592, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147898-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10240-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it\u2019s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there\u2019s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate \u2013 meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10240-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10241-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (39\u00b0)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin\u2019s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39\u00b0 as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n\u2022\\t**Sage\u2019s response (37\u00b0)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37\u00b0 may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n\u2022\\t**Delana\u2019s response (43\u00b0)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43\u00b0 cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana\u2019s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46\u00b0 and 51\u00b0 measured temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Alex\u2019s response (53\u00b0)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana\u2019s response above, if there were a weather front just to the east of the 46\u00b0 and 51\u00b0 observed temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it’s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there’s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate – meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there’s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10241-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10242-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (39°)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin’s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39° as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n•\\t**Sage’s response (37°)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37° may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n•\\t**Delana’s response (43°)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43° cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana’s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46° and 51° measured temperature values, the 53° estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n•\\t**Alex’s response (53°)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana’s response above, if there were a weather front just to the east of the 46° and 51° observed temperature values, the 53° estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10242-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1688-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1688-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1689-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1689-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] } - }], + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json index ae3cba7b..fd8ca7c2 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json @@ -1,5 +1,5 @@ { - "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "description": "

    Displaying Data: Where does it rain?

    ", "editor_mode": 0, "layout": 0, "name": "Alaska 2021 - Lesson 3: Pre-thoughts - What Do You Think?", @@ -13,236 +13,248 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143591, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EWhich Estimates Should We Trust?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png\" width=\"555\" height=\"444\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas. (Each student\u0026rsquo;s estimated temperature choice is in \u003Cstrong\u003Ebold\u003C/strong\u003E to make it easier to find.)\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E53\u02da\u003C/strong\u003E because it\u0026rsquo;s furthest outside of the temperatures that were actually measured at a weather station.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png\" width=\"223\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E43\u02da\u003C/strong\u003E because it\u0026rsquo;s far away from any temperatures measured at a weather station.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png\" width=\"222\" height=\"200\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E39\u02da\u003C/strong\u003E because there aren\u0026rsquo;t any other estimated temperatures near the 39\u02da estimate.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png\" width=\"230\" height=\"204\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png\" width=\"80\" height=\"100\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI\u0026rsquo;m least certain about the estimate of \u003Cstrong\u003E37\u02da\u003C/strong\u003E because weather usually moves from west to east, so I\u0026rsquo;m unsure about estimates on the west side of the map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png\" alt=\"\" width=\"230\" height=\"206\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147895-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143591, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147895-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10237-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it\u2019s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there\u2019s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate \u2013 meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there\u2019s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10237-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10238-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (39\u00b0)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin\u2019s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39\u00b0 as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n\u2022\\t**Sage\u2019s response (37\u00b0)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37\u00b0 may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n\u2022\\t**Delana\u2019s response (43\u00b0)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43\u00b0 cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana\u2019s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46\u00b0 and 51\u00b0 measured temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Alex\u2019s response (53\u00b0)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana\u2019s response above, if there were a weather front just to the east of the 46\u00b0 and 51\u00b0 observed temperature values, the 53\u00b0 estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it’s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there’s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate – meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there’s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10238-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10239-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (39°)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin’s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39° as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n•\\t**Sage’s response (37°)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37° may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n•\\t**Delana’s response (43°)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43° cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana’s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46° and 51° measured temperature values, the 53° estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n•\\t**Alex’s response (53°)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana’s response above, if there were a weather front just to the east of the 46° and 51° observed temperature values, the 53° estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10239-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1687-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1687-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1686-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1686-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] } - }], + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3.json b/src/public/offline-activities/precipitating-change-v4/lesson-3.json index c484fd85..f0eb5eb9 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3.json @@ -1,8 +1,8 @@ { - "description": "\u003Cp\u003EDisplaying Data: Where does it rain?\u003C/p\u003E", + "description": "

    Displaying Data: Where does it rain?

    ", "editor_mode": 0, "layout": 0, - "name": "Alaska 2021 - Lesson 3: Displaying Precipitation \u0026 Air Moisture Data", + "name": "Alaska 2021 - Lesson 3: Displaying Precipitation & Air Moisture Data", "notes": "", "project_id": 25, "related": "", @@ -13,1152 +13,1199 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143621, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Real World Application with Jackie Purcell", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how air moisture plays an important part in forming precipitation.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148013-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143621, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application with Jackie Purcell", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how air moisture plays an important part in forming precipitation.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148013-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1765-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143588, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Opening", - "position": 2, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EHave you ever been caught without your parka or boots when you needed them? Predicting rain or snow\u0026nbsp;is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.\u003C/p\u003E\r\n\u003Cp\u003EAs weather scientists, you will continue to explore weather maps. Now, you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number). The larger this number is, the more moisture is contained in the air.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPrecipitation symbol = raindrops\u003C/strong\u003E\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg\" alt=\"\" width=\"588\" height=\"141\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "Introducing Precipitation and Air Moisture ", - "type": "Embeddable::Xhtml", - "ref_id": "147890-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 3: BUILDING RULES:\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students revisit the weather maps they constructed in Lesson 2 and add precipitation and air moisture data for additional time stamps to the weather maps to answer the question \\\"Where does it rain?\\\" Precipitation is a result of the complex interactions between temperature and moisture. Atmospheric scientists construct graphical displays of temperature and moisture content data to help them come up with rules to identify where precipitation occurs. \\n\\nThis lesson introduces a new way of utilizing the virtual simulation that allows students to start recognizing patterns and formalizing their rule statements with the data set they have been exploring in Lesson 2.\\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n* Explain the current weather conditions in their local context\\n\\n* Read weather maps using traditional symbols and codes (adding precipitation)\\n\\n* Use CT strategies (rule abstraction, rule development and rule testing) to develop a better understanding of how to model weather\\n\\nComputational Thinking (CT) skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. Students develop a general statement to answer the question \\\"Where does it rain?\\\"|\\n| Rule Abstraction | Developing a statement of how things work based on observed patterns. | Students make a generic statement to answer \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual model activity |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model.| The virtual model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1765-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143588, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever been caught without your parka or boots when you needed them? Predicting rain or snow is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.

    \r\n

    As weather scientists, you will continue to explore weather maps. Now, you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number). The larger this number is, the more moisture is contained in the air.

    \r\n

     

    \r\n

    Precipitation symbol = raindrops  \"\" 

    \r\n

     

    \r\n

    \"\"

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Precipitation and Air Moisture ", + "type": "Embeddable::Xhtml", + "ref_id": "147890-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10229-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (35 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Opening (5 mins)\\n**Activity 1 - Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (20 mins)\\n**Post-Assessment - Which Estimates Should We Trust? (10 mins)\\n\\n\\n### MATERIALS AND SET-UP\\n\\nThe materials and set up are repeated from Lesson 2 - Virtual Storm Technology and included below for your convenience.\\n\\nPer Research Team:\\n\\n* Marker\\n\\n* Fully charged and connected iPad/laptop \\n\\nPer Class:\\n\\n* Set up classroom grid\\n\\nWeather maps:\\n\\n* Display the 7 am, 11 am, and 3 pm completed gridded temperature map students created in Lesson 2, Activity 1 with colored sticky notes for temperatures.\\n\\nCity flags:\\n\\n* Place a printout of each of the Alaskan cities (Bettles, Galena, Nome, Noorvik, St. Mary\u2019s) in locations corresponding to the grid map for Alaska.\\n\\nIn the simulation:\\n\\n* As with the Virtual Storm from the previous lesson, run the simulation (starting at 7 am) and pause it at 3 pm. Students will only collect precipitation data for this activity.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 3: BUILDING RULES:\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students revisit the weather maps they constructed in Lesson 2 and add precipitation and air moisture data for additional time stamps to the weather maps to answer the question \\\"Where does it rain?\\\" Precipitation is a result of the complex interactions between temperature and moisture. Atmospheric scientists construct graphical displays of temperature and moisture content data to help them come up with rules to identify where precipitation occurs. \\n\\nThis lesson introduces a new way of utilizing the virtual simulation that allows students to start recognizing patterns and formalizing their rule statements with the data set they have been exploring in Lesson 2.\\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n* Explain the current weather conditions in their local context\\n\\n* Read weather maps using traditional symbols and codes (adding precipitation)\\n\\n* Use CT strategies (rule abstraction, rule development and rule testing) to develop a better understanding of how to model weather\\n\\nComputational Thinking (CT) skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. Students develop a general statement to answer the question \\\"Where does it rain?\\\"|\\n| Rule Abstraction | Developing a statement of how things work based on observed patterns. | Students make a generic statement to answer \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual model activity |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model.| The virtual model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10229-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10230-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 3.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (35 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Opening (5 mins)\\n**Activity 1 - Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (20 mins)\\n**Post-Assessment - Which Estimates Should We Trust? (10 mins)\\n\\n\\n### MATERIALS AND SET-UP\\n\\nThe materials and set up are repeated from Lesson 2 - Virtual Storm Technology and included below for your convenience.\\n\\nPer Research Team:\\n\\n* Marker\\n\\n* Fully charged and connected iPad/laptop \\n\\nPer Class:\\n\\n* Set up classroom grid\\n\\nWeather maps:\\n\\n* Display the 7 am, 11 am, and 3 pm completed gridded temperature map students created in Lesson 2, Activity 1 with colored sticky notes for temperatures.\\n\\nCity flags:\\n\\n* Place a printout of each of the Alaskan cities (Bettles, Galena, Nome, Noorvik, St. Mary’s) in locations corresponding to the grid map for Alaska.\\n\\nIn the simulation:\\n\\n* As with the Virtual Storm from the previous lesson, run the simulation (starting at 7 am) and pause it at 3 pm. Students will only collect precipitation data for this activity.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10230-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10231-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 3.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10231-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1761-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143589, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Data Aggregation", - "position": 3, - "show_header": true, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": "\u003Cp\u003EWould you change what you selected to wear? Yes or No\u003C/p\u003E\n\u003Cp\u003EIf yes, what would you change and why?\u003C/p\u003E", - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EThe map below shows the virtual storm that you have seen before. With the slider, you can see the storm at three times during one day. This map adds \u003Cem\u003Ehumidity\u003C/em\u003E and \u003Cem\u003Eprecipitation\u003C/em\u003E\u0026nbsp;data to the temperature data. Combining related data is called data aggregation.\u003C/p\u003E\r\n\u003Cp\u003ELook at the temperature and humidity data that is close to where the precipitation falls. Watch how the precipitation moves through the three times. Does the other data move too?\u0026nbsp;Can you see a pattern?\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EPrecipitation is shown with three raindrops:\u0026nbsp;\u0026nbsp;\u003Cimg class=\"\" src=\"https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png\" alt=\"\" width=\"48\" height=\"48\" /\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EThe air moisture and temperature data are shown this way:\u003Cimg class=\"\" src=\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/Temp-Moisture-Key.png\" alt=\"\" width=\"250\" height=\"173\" /\u003E\u0026nbsp;\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "Mapping Precipitation and Air Moisture with Temperature in the Virtual Storm", - "type": "Embeddable::Xhtml", - "ref_id": "147891-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "Location of Precipitation", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"G-4\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"id\":\"2\",\"content\":\"G-5\",\"correct\":false,\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"id\":\"3\",\"content\":\"D-6\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"content\":\"D-2\",\"correct\":false,\"id\":\"aff2b1f4-8271-4aaa-8338-fa504931c966\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"A-4\",\"correct\":false,\"id\":\"64b333f5-f8be-4b50-af1f-080692afa946\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"B-7\",\"correct\":true,\"id\":\"fc847408-296f-44b2-8aed-7e305f86ea70\",\"choiceFeedback\":\"Correct!\"}],\"prompt\":\"\u003Cp\u003ESet the map to show the data at 3 pm. Check all cells listed below that have precipitation.\u003C/p\u003E\",\"enableCheckAnswer\":true,\"customFeedback\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1761-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143589, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "

    Would you change what you selected to wear? Yes or No

    \n

    If yes, what would you change and why?

    ", + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The map below shows the virtual storm that you have seen before. With the slider, you can see the storm at three times during one day. This map adds humidity and precipitation data to the temperature data. Combining related data is called data aggregation.

    \r\n

    Look at the temperature and humidity data that is close to where the precipitation falls. Watch how the precipitation moves through the three times. Does the other data move too? Can you see a pattern? 

    \r\n

    Precipitation is shown with three raindrops:  \"\" 

    \r\n

    The air moisture and temperature data are shown this way:\"\" 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Mapping Precipitation and Air Moisture with Temperature in the Virtual Storm", + "type": "Embeddable::Xhtml", + "ref_id": "147891-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2163-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Guiding Question #1", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt is raining on the warmest cell on the map.\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Location of Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"G-4\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"id\":\"2\",\"content\":\"G-5\",\"correct\":false,\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"id\":\"3\",\"content\":\"D-6\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"content\":\"D-2\",\"correct\":false,\"id\":\"aff2b1f4-8271-4aaa-8338-fa504931c966\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"A-4\",\"correct\":false,\"id\":\"64b333f5-f8be-4b50-af1f-080692afa946\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"B-7\",\"correct\":true,\"id\":\"fc847408-296f-44b2-8aed-7e305f86ea70\",\"choiceFeedback\":\"Correct!\"}],\"prompt\":\"

    Set the map to show the data at 3 pm. Check all cells listed below that have precipitation.

    \",\"enableCheckAnswer\":true,\"customFeedback\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2163-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2164-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Guiding Question #2", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt is raining on the coldest cell on the map.\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Guiding Question #1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It is raining on the warmest cell on the map.

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2164-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2165-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1- Virtual Storm: Exploring Precipitation, Air Moisture, and Temperature\\nThis activity is a continuation of the Virtual Storm simulation and has a similar set-up to the Lesson 2 - Virtual Storm. \\n\\nKey additions in this activity include:\\n\\n* Reusing the 7 am, 11 am, and 3 pm weather map created in Lesson 2.\\n\\n* Pausing the simulation at 3 pm and completely filling in each square. \\n\\nAdditionally, this lesson provides students with an opportunity to explore and explain why it rains in some areas and not others. Students work in teams of weather scientists to collect precipitation data and look for patterns in rainfall, temperature, and air moisture content. Students use the Virtual Storm technology from the beginning, but focus on what is happening at one point in time (at 3 pm). Students then brainstorm all of the patterns they see in the variables of temperature, air moisture, and precipitation and then use those patterns to come up with a general statement (rule) to explain under what conditions rain occurs. Students apply the CT skills of **Data Aggregation** and **Data Abstraction** as they collect and visualize their rain data, but **Pattern Recognition** is the primary computational thinking practice in this Lesson. This sets the stage for the next activity, where students will use the patterns they discover to abstract a rule statement about where rain occurs.\\n\\n###Activity Breakdown\\n**1. Set the stage for the virtual storm with precipitation.** In their research teams, students will be responsible for collecting precipitation data for the region at 7 am (once), 11 am (once), and the entire 3 pm (multiple times). \\n\\n**2. Start the virtual storm with precipitation.** Students first collect and enter precipitation data for 7 am and 11 am but the virtual storm will stay at 3 pm and students will work to complete the map of the region for 3 pm. Students aggregate precipitation data on the 3 pm weather map on the wall. Have students abstract precipitation data by representing it on the map with a raindrop on top of the temperature sticky notes.\\n\\n**3. Pause the virtual storm at 3 pm.** Students explore simulated precipitation only for 3 pm. Research teams move around the room to different locations collecting rain data to complete the 3 pm weather map. \\n\\n**4. Class brainstorm of precipitation patterns.** Lead a class brainstorm, looking for and recognizing patterns in the data. Have the students record their thoughts for precipitation in the online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "Guiding Question #2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It is raining on the coldest cell on the map.

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2165-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10232-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"Temperature and Precipitation Discussion Prompts\\n\\n* After the map is complete, have students record their ideas in their Student Notebooks. Encourage students to use the maps on the wall as they describe observed patterns. \\n\\n* For a list of possible class discussion questions, see below: \\n * Where is the rain on the map?\\n * Why do you think it is raining in some places and not others?\\n * Is there a relationship between temperature and precipitation?\\n\\n**Teacher Note**: Patterns should include some notion of precipitation happening in warm areas, and that the rain is clustered in an area and somewhat resembles a diagonal line. Keep in mind that the data they are collecting is a subset of the larger dataset they saw in Lesson 1, Activity 2 - Making an Initial Prediction. This process is a way to help them dive deeper into the data to help support a stronger prediction later in the unit. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1- Virtual Storm: Exploring Precipitation, Air Moisture, and Temperature\\nThis activity is a continuation of the Virtual Storm simulation and has a similar set-up to the Lesson 2 - Virtual Storm. \\n\\nKey additions in this activity include:\\n\\n* Reusing the 7 am, 11 am, and 3 pm weather map created in Lesson 2.\\n\\n* Pausing the simulation at 3 pm and completely filling in each square. \\n\\nAdditionally, this lesson provides students with an opportunity to explore and explain why it rains in some areas and not others. Students work in teams of weather scientists to collect precipitation data and look for patterns in rainfall, temperature, and air moisture content. Students use the Virtual Storm technology from the beginning, but focus on what is happening at one point in time (at 3 pm). Students then brainstorm all of the patterns they see in the variables of temperature, air moisture, and precipitation and then use those patterns to come up with a general statement (rule) to explain under what conditions rain occurs. Students apply the CT skills of **Data Aggregation** and **Data Abstraction** as they collect and visualize their rain data, but **Pattern Recognition** is the primary computational thinking practice in this Lesson. This sets the stage for the next activity, where students will use the patterns they discover to abstract a rule statement about where rain occurs.\\n\\n###Activity Breakdown\\n**1. Set the stage for the virtual storm with precipitation.** In their research teams, students will be responsible for collecting precipitation data for the region at 7 am (once), 11 am (once), and the entire 3 pm (multiple times). \\n\\n**2. Start the virtual storm with precipitation.** Students first collect and enter precipitation data for 7 am and 11 am but the virtual storm will stay at 3 pm and students will work to complete the map of the region for 3 pm. Students aggregate precipitation data on the 3 pm weather map on the wall. Have students abstract precipitation data by representing it on the map with a raindrop on top of the temperature sticky notes.\\n\\n**3. Pause the virtual storm at 3 pm.** Students explore simulated precipitation only for 3 pm. Research teams move around the room to different locations collecting rain data to complete the 3 pm weather map. \\n\\n**4. Class brainstorm of precipitation patterns.** Lead a class brainstorm, looking for and recognizing patterns in the data. Have the students record their thoughts for precipitation in the online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10232-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10233-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"In this tutorial, you will learn how to guide students in using the virtual storm interactive to test the rules they have created. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials - Where does it rain virtual model?\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"Temperature and Precipitation Discussion Prompts\\n\\n* After the map is complete, have students record their ideas in their Student Notebooks. Encourage students to use the maps on the wall as they describe observed patterns. \\n\\n* For a list of possible class discussion questions, see below: \\n * Where is the rain on the map?\\n * Why do you think it is raining in some places and not others?\\n * Is there a relationship between temperature and precipitation?\\n\\n**Teacher Note**: Patterns should include some notion of precipitation happening in warm areas, and that the rain is clustered in an area and somewhat resembles a diagonal line. Keep in mind that the data they are collecting is a subset of the larger dataset they saw in Lesson 1, Activity 2 - Making an Initial Prediction. This process is a way to help them dive deeper into the data to help support a stronger prediction later in the unit. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10233-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10234-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "Data Relationships", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow would you describe the relationship between temperature and precipitation? \u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"In this tutorial, you will learn how to guide students in using the virtual storm interactive to test the rules they have created. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials - Where does it rain virtual model?\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10234-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2166-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "content": "\u003Cp\u003EOn the map below, click \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E, then use the slider to see the movement of the rain over three times of the day.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003ELook for patterns around where the rain falls. To see patterns, it may help to turn on or off the options of data, colors, and rain. For example, turn off \u003Cem\u003Eshow-data?\u003C/em\u003E and turn on \u003Cem\u003Eshow-colors?\u003C/em\u003E and \u003Cem\u003Eshow-rain?\u003C/em\u003E. Is it easier to see how temperature and precipitation move over time?\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK", - "type": "Embeddable::Xhtml", - "ref_id": "149127-Embeddable::Xhtml" - }, - "section": "interactive_box" - }, { - "embeddable": { - "aspect_ratio_method": "DEFAULT", - "authored_state": "", - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "is_full_width": true, - "is_hidden": false, - "model_library_url": null, - "name": "Virtual Storm with Rain at Three Times", - "native_height": 435, - "native_width": 576, - "no_snapshots": true, - "show_delete_data_button": true, - "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", - "type": "MwInteractive", - "ref_id": "97738-MwInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 144724, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Data Aggregation, Continued", - "position": 4, - "show_header": false, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "name": "Guiding Question #3", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt rains in cells that have an air moisture of 5 or below.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "Data Relationships", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How would you describe the relationship between temperature and precipitation?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2166-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2171-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Guiding Question #4", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EIt rains in cells that have an air moisture of 10.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "content": "

    On the map below, click Setup and Run, then use the slider to see the movement of the rain over three times of the day. 

    \r\n

    Look for patterns around where the rain falls. To see patterns, it may help to turn on or off the options of data, colors, and rain. For example, turn off show-data? and turn on show-colors? and show-rain?. Is it easier to see how temperature and precipitation move over time?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149127-Embeddable::Xhtml" + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "2172-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Conditions for Precipitation", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EHow would you describe the relationship between air moisture AND temperature AND precipitation? There are 3 parts to this answer.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { + { + "embeddable": { "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "authored_state": "", "click_to_play": false, "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, + "enable_learner_state": false, "full_window": false, "has_report_url": false, "image_url": null, - "name": "Open Response", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Virtual Storm with Rain at Three Times", "native_height": 435, "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "no_snapshots": true, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97738-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144724, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation, Continued", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Guiding Question #3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It rains in cells that have an air moisture of 5 or below.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2171-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2173-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "content": "\u003Cp\u003EThe map with temperature, air moisture, and precipitation appears again below. Look carefully for patterns and relationships between all three types of data: temperature, air moisture, and where precipitation occurs.\u0026nbsp;\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK", - "type": "Embeddable::Xhtml", - "ref_id": "149129-Embeddable::Xhtml" - }, - "section": "interactive_box" - }, { - "embeddable": { - "aspect_ratio_method": "DEFAULT", - "authored_state": "", - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "is_full_width": true, - "is_hidden": false, - "model_library_url": null, - "name": "", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": true, - "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", - "type": "MwInteractive", - "ref_id": "97739-MwInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143590, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Predicting Rain - First Try", - "position": 5, - "show_header": true, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": "\u003Cp\u003EYour teacher will lead a class discussion.\u003C/p\u003E\n\u003Cp\u003EPossible discussion questions:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; What was your prediction for the weather in Boston on November 7th at 7am?\u003Cbr /\u003E\u0026bull; What was your strategy that helped you develop your prediction?\u003C/p\u003E", - "sidebar_title": "Class Discussion", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EThe weather map of the virtual storm below shows temperature and air moisture data at 7pm. Use the relationships you just figured out between air moisture, temperature, and precipitation to try and predict where it will rain at 7pm.\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "What Makes It Rain?", - "type": "Embeddable::Xhtml", - "ref_id": "147893-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1: Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (Continued)\\n\\n###Activity Breakdown\\n\\n**1. Set up Round 2 by leaving the Virtual Storm at 3 pm.** Explain to students that their new question is: \\\"Why is it raining in some locations and not others? Where does it rain?\\\"\\n\\n**2. Students explore and collect simulated air moisture content data in different spots at 3 pm to complete the weather map. **Air moisture is represented as a number between 1 (very dry air) and 10 (very moist air). Moisture content refers to how much water vapor is in the air. See discussion points below to help guide students through the process.\\n\\n**3. Class brainstorm of air moisture patterns.** See the Discussion Points for possible question prompts.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "Guiding Question #4", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It rains in cells that have an air moisture of 10.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2172-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10235-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Air Moisture Content\\n* Temperature alone is not sufficient to fully answer the questions, \\\"Why is it raining in some locations and not others? Where does it rain?\\\" Another variable, such as air moisture content, is needed. \\n\\n* Briefly introduce the concept of air moisture content. Explain to the students that air contains microscopic water particles, called water vapor. Air moisture content refers to how much water vapor is in the air.\\n\\n* Reference possible students\u2019 past experiences with very moist air (e.g., in the shower or steam room) and/or very dry air (e.g., in a sauna or in the winter). The amount of water vapor is illustrated by an air moisture content number where 0 = very dry air and 10 = very moist air. Students may remember this concept from the data tables they received in Lesson 1.\\n\\n**Teacher Note**: The air moisture data students receive will already be abstracted, so no further abstraction is needed. It is expressed as a single number on a scale of 0 to 10, with 10 having the most water. This corresponds to mass of water per volume of air (i.e., g water/m\u003Csup\u003E3\u003C/sup\u003E air).\\n\\n###Exploration of Simulated Air Moisture Content at 3 pm. \\n* As research groups move around the room to different locations collecting air moisture data to complete the 3 pm weather map, encourage students to observe and share with each other where in the room the air is wettest, and where they guess it will likely be wettest before they check their instruments.\\n\\n###Air Moisture\\n* Lead a class brainstorm of air moisture patterns and have students record their ideas in their Science Notebooks.\\n* Encourage students to use the map on the wall as they describe observed patterns. \\n\\n* For a list of possible questions to guide your discussion, see below:\\n\\n * Where is the air wettest on the map?\\n\\n * Where is the air driest?\\n\\n * Do you see a relationship between air temperature and air moisture content?\\n\\n * Do you see a relationship between air moisture content and precipitation?\\n\\n**Teacher Note**: Students should come away with some notion of how temperature and air moisture seem to follow the same pattern (warm air = wet, cold air = dry), and that it only rains when the air is wet.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "Conditions for Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How would you describe the relationship between air moisture AND temperature AND precipitation? There are 3 parts to this answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2173-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10236-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EList the coordinates of the cells in which you think it will rain. (Example: B-1, F-5...) Explain why you think it will rain in those cells.\u0026nbsp;\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "content": "

    The map with temperature, air moisture, and precipitation appears again below. Look carefully for patterns and relationships between all three types of data: temperature, air moisture, and where precipitation occurs. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149129-Embeddable::Xhtml" + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "2169-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "Virtual Storm at 7 pm - No Precipitation Shown", - "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", - "data": { + { + "embeddable": { "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "authored_state": "", "click_to_play": false, "click_to_play_prompt": null, - "description": "", "enable_learner_state": false, "full_window": false, "has_report_url": false, "image_url": null, - "name": "Image Interactive", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", "native_height": 435, "native_width": 576, "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97739-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143590, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Predicting Rain - First Try", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "

    Your teacher will lead a class discussion.

    \n

    Possible discussion questions:

    \n

    • What was your prediction for the weather in Boston on November 7th at 7am?
    • What was your strategy that helped you develop your prediction?

    ", + "sidebar_title": "Class Discussion", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The weather map of the virtual storm below shows temperature and air moisture data at 7pm. Use the relationships you just figured out between air moisture, temperature, and precipitation to try and predict where it will rain at 7pm.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "What Makes It Rain?", + "type": "Embeddable::Xhtml", + "ref_id": "147893-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2167-ManagedInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143695, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Quiz", - "position": 6, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148890-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"75d5130a-6c7b-45f6-80cd-22d7b2eba0e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cprecipitation\u201d?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1: Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (Continued)\\n\\n###Activity Breakdown\\n\\n**1. Set up Round 2 by leaving the Virtual Storm at 3 pm.** Explain to students that their new question is: \\\"Why is it raining in some locations and not others? Where does it rain?\\\"\\n\\n**2. Students explore and collect simulated air moisture content data in different spots at 3 pm to complete the weather map. **Air moisture is represented as a number between 1 (very dry air) and 10 (very moist air). Moisture content refers to how much water vapor is in the air. See discussion points below to help guide students through the process.\\n\\n**3. Class brainstorm of air moisture patterns.** See the Discussion Points for possible question prompts.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10235-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2017-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How much rain is falling to the ground\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Amount or content of water in the air\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) The temperature at which rain will start to fall\",\"correct\":false},{\"content\":\"d) The ratio of the temperature and the wind direction\",\"correct\":false,\"id\":\"65903405-cdf8-4532-a239-e913395a8b36\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of \u201cair moisture\u201d?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Air Moisture Content\\n* Temperature alone is not sufficient to fully answer the questions, \\\"Why is it raining in some locations and not others? Where does it rain?\\\" Another variable, such as air moisture content, is needed. \\n\\n* Briefly introduce the concept of air moisture content. Explain to the students that air contains microscopic water particles, called water vapor. Air moisture content refers to how much water vapor is in the air.\\n\\n* Reference possible students’ past experiences with very moist air (e.g., in the shower or steam room) and/or very dry air (e.g., in a sauna or in the winter). The amount of water vapor is illustrated by an air moisture content number where 0 = very dry air and 10 = very moist air. Students may remember this concept from the data tables they received in Lesson 1.\\n\\n**Teacher Note**: The air moisture data students receive will already be abstracted, so no further abstraction is needed. It is expressed as a single number on a scale of 0 to 10, with 10 having the most water. This corresponds to mass of water per volume of air (i.e., g water/m3 air).\\n\\n###Exploration of Simulated Air Moisture Content at 3 pm. \\n* As research groups move around the room to different locations collecting air moisture data to complete the 3 pm weather map, encourage students to observe and share with each other where in the room the air is wettest, and where they guess it will likely be wettest before they check their instruments.\\n\\n###Air Moisture\\n* Lead a class brainstorm of air moisture patterns and have students record their ideas in their Science Notebooks.\\n* Encourage students to use the map on the wall as they describe observed patterns. \\n\\n* For a list of possible questions to guide your discussion, see below:\\n\\n * Where is the air wettest on the map?\\n\\n * Where is the air driest?\\n\\n * Do you see a relationship between air temperature and air moisture content?\\n\\n * Do you see a relationship between air moisture content and precipitation?\\n\\n**Teacher Note**: Students should come away with some notion of how temperature and air moisture seem to follow the same pattern (warm air = wet, cold air = dry), and that it only rains when the air is wet.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10236-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2018-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It will rain when the air is very dry\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It will rain when the air is very wet\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) It will rain when the air moisture is between 7 and 9\",\"correct\":true},{\"content\":\"d) It will rain when the air moisture is between 5 and 7 \",\"correct\":false,\"id\":\"019a4ccd-da14-4e5f-9692-fe79bddc7c0f\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the relationship between air moisture and precipitation?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    List the coordinates of the cells in which you think it will rain. (Example: B-1, F-5...) Explain why you think it will rain in those cells. 

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2169-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Virtual Storm at 7 pm - No Precipitation Shown", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2167-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143695, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148890-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2021-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 144723, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 7, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"75d5130a-6c7b-45f6-80cd-22d7b2eba0e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “precipitation”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2017-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How much rain is falling to the ground\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Amount or content of water in the air\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) The temperature at which rain will start to fall\",\"correct\":false},{\"content\":\"d) The ratio of the temperature and the wind direction\",\"correct\":false,\"id\":\"65903405-cdf8-4532-a239-e913395a8b36\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of “air moisture”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2018-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It will rain when the air is very dry\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It will rain when the air is very wet\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) It will rain when the air moisture is between 7 and 9\",\"correct\":true},{\"content\":\"d) It will rain when the air moisture is between 5 and 7 \",\"correct\":false,\"id\":\"019a4ccd-da14-4e5f-9692-fe79bddc7c0f\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the relationship between air moisture and precipitation?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2021-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144723, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 7, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } } - }], + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json index faf4e219..a4265bb4 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json @@ -1,5 +1,5 @@ { - "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "description": "

    Building Rules: Where does it rain?

    ", "editor_mode": 0, "layout": 0, "name": "Alaska 2021 - Lesson 4: Post-thoughts - What Do You Think?", @@ -13,236 +13,248 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143598, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EWhat Are the Rules for Fronts and Precipitation?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147904-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143598, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147904-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10256-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10256-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10257-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students’ own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk’s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10257-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10258-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin’s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin’s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn’t have air masses made of matter on Earth, then we wouldn’t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff – for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n•\\t**Both Alex’s response (precipitation occurs with a warm front coming in)** and **Sage’s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage’s and Alex’s ideas include some incorrect patterns that lead to problematic rules. \\n\\n•\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don’t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn’t mean that there won’t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex’s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n•\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage’s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n•\\tStudents who choose Alex or Sage’s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n•\\t**Delana’s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana’s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana’s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10258-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1692-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1692-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1693-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1693-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] } - }], + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json index 3d028c63..71023a56 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json @@ -1,5 +1,5 @@ { - "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "description": "

    Building Rules: Where does it rain?

    ", "editor_mode": 0, "layout": 0, "name": "Alaska 2021 - Lesson 4: Pre-thoughts - What Do You Think?", @@ -13,236 +13,248 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143597, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EWhat Are the Rules for Fronts and Precipitation?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas: The rule should be that precipitation happens\u0026hellip;\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a warm front coming in\u003C/strong\u003E because warm air moves in and mixes with cold air, which leads to precipitation. You don\u0026rsquo;t get precipitation with a cold front because cold air is dry.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith both cold fronts and warm fronts coming in\u003C/strong\u003E because in both cases warm air and cold air meet, leading to condensation and precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Ewith a cold front coming in\u003C/strong\u003E because it\u0026rsquo;s usually rainy or snowy when it\u0026rsquo;s cold out. You don\u0026rsquo;t get precipitation with a warm front because it\u0026rsquo;s warm when the sun is shining.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\u003Cstrong\u003Eafter a cold front has passed by\u003C/strong\u003E because the cold air the front leaves behind is humid, which leads to precipitation.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147903-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143597, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147903-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10253-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students\u2019 own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk\u2019s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage2.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4L5AssessmentTeacherGuideImage1.png\\\" width=\\\"850\\\" height=\\\"180\\\" /\u003E\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10253-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10254-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin\u2019s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin\u2019s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn\u2019t have air masses made of matter on Earth, then we wouldn\u2019t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff \u2013 for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (precipitation occurs with a warm front coming in)** and **Sage\u2019s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage\u2019s and Alex\u2019s ideas include some incorrect patterns that lead to problematic rules. \\n\\n\u2022\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don\u2019t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn\u2019t mean that there won\u2019t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex\u2019s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n\u2022\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage\u2019s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n\u2022\\tStudents who choose Alex or Sage\u2019s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana\u2019s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana\u2019s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students’ own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk’s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10254-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10255-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin’s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin’s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn’t have air masses made of matter on Earth, then we wouldn’t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff – for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n•\\t**Both Alex’s response (precipitation occurs with a warm front coming in)** and **Sage’s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage’s and Alex’s ideas include some incorrect patterns that lead to problematic rules. \\n\\n•\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don’t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn’t mean that there won’t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex’s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n•\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage’s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n•\\tStudents who choose Alex or Sage’s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n•\\t**Delana’s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana’s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana’s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10255-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1690-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1690-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1691-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1691-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] } - }], + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4.json b/src/public/offline-activities/precipitating-change-v4/lesson-4.json index 39d454e0..a871d896 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4.json @@ -1,5 +1,5 @@ { - "description": "\u003Cp\u003EBuilding Rules: Where does it rain?\u003C/p\u003E", + "description": "

    Building Rules: Where does it rain?

    ", "editor_mode": 0, "layout": 0, "name": "Alaska 2021 - Lesson 4: Building Rules", @@ -13,849 +13,887 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143689, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Real World Application", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how\u0026nbsp;making sense of the weather data helps in predicting\u0026nbsp;weather.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148014-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143689, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how making sense of the weather data helps in predicting weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148014-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1766-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143593, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Opening", - "position": 2, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EAs weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.\u003C/p\u003E\n\u003Cp\u003EExample: This rule has two parts that must happen to have a certain result. If it was a [ \u003Cstrong\u003Every nice summer\u003C/strong\u003E ] and if it is [ \u003Cstrong\u003EAugust\u003C/strong\u003E ], then there will be [ \u003Cstrong\u003Elots of berries to pick\u003C/strong\u003E ].\u0026nbsp;\u003C/p\u003E\n\u003Cp style=\"text-align: justify;\"\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg\" alt=\"\" width=\"472\" height=\"221\" /\u003E\u003C/p\u003E\n\u003Cp\u003EThink about developing a similar statement that could be used to determine where it will rain.\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147899-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 4: BUILDING RULES\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students develop a rule for where it will rain and test their rule using a Virtual Model. This lesson supports students to build their understanding of how observations of natural phenomena (weather) can be generalized (rule abstraction) for computational modeling (rule testing and rule refinement) and predictive purposes. This lesson introduces new technology, a Virtual Model, that allows students to test rules with the dataset they have been exploring in Lesson 3. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n\\n\\nComputational thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | CT Skill Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students develop a general statement to answer the question, \\\"Where does it rain?\\\" |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed. | Students make a generic statement to answer, \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual Model activity|\\n| Rule Refinement | Modifying a rule to be more precise to work in the model. Precise (exact, careful about details) | The Virtual Model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1766-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143593, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.

    \n

    Example: This rule has two parts that must happen to have a certain result. If it was a [ very nice summer ] and if it is [ August ], then there will be [ lots of berries to pick ]. 

    \n

    \"\"

    \n

    Think about developing a similar statement that could be used to determine where it will rain.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147899-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10243-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (45 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Activity 1 - Rule Abstraction Conversation (20 mins)\\n\\n**Activity 2 - Refining and Testing Rules using a Virtual Model (25 mins)\\n\\n### MATERIALS AND SET-UP\\n\\nPer Student:\\n\\n* Science Notebooks\\n* Access to Student Online Activities\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 4: BUILDING RULES\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students develop a rule for where it will rain and test their rule using a Virtual Model. This lesson supports students to build their understanding of how observations of natural phenomena (weather) can be generalized (rule abstraction) for computational modeling (rule testing and rule refinement) and predictive purposes. This lesson introduces new technology, a Virtual Model, that allows students to test rules with the dataset they have been exploring in Lesson 3. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n\\n\\nComputational thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | CT Skill Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students develop a general statement to answer the question, \\\"Where does it rain?\\\" |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed. | Students make a generic statement to answer, \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual Model activity|\\n| Rule Refinement | Modifying a rule to be more precise to work in the model. Precise (exact, careful about details) | The Virtual Model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10243-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10244-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 4.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (45 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Activity 1 - Rule Abstraction Conversation (20 mins)\\n\\n**Activity 2 - Refining and Testing Rules using a Virtual Model (25 mins)\\n\\n### MATERIALS AND SET-UP\\n\\nPer Student:\\n\\n* Science Notebooks\\n* Access to Student Online Activities\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10244-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10245-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143595, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Rule Abstraction (cont.)", - "position": 3, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EAs weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.\u003C/p\u003E\n\u003Cp\u003ETo make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.\u003C/p\u003E\n\u003Cp\u003EYou can practice making more specific rule statements by answering the questions below and testing them using the model.\u0026nbsp;\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147901-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "content": "\u003Cp\u003EUsing the following rule, which pair of grid squares (A, B, or C) will produce rain?\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png\" alt=\"\" width=\"70\" height=\"72\" /\u003E\u003Cbr /\u003EIF the upper square (the northwest square)\u0026nbsp;\u0026nbsp;is colder than the lower square by [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E5 or more degrees\u003C/span\u003E\u003C/strong\u003E ] AND IF the moisture of the lower square is [ \u003Cstrong\u003E\u003Cspan style=\"text-decoration: underline;\"\u003E7 or more\u003C/span\u003E\u003C/strong\u003E ] THEN it rains in the lower square.\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD\" width=\"424\" height=\"182\" /\u003E\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "If / Then Rule", - "type": "Embeddable::Xhtml", - "ref_id": "149130-Embeddable::Xhtml" - }, - "section": null - }, { - "embeddable": { - "name": "If / Then Rule 1", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":true},{\"id\":\"3\",\"content\":\"C.\",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhich square will have rain according to this rule?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 4.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10245-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143595, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Rule Abstraction (cont.)", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.

    \n

    To make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.

    \n

    You can practice making more specific rule statements by answering the questions below and testing them using the model. 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147901-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2174-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "If / Then Rule 2", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":true},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. \",\"correct\":false}],\"prompt\":\"\u003Cp\u003EWhich square will have rain according to the following rule: \u003C/p\u003E\\n\u003Cp\u003E\u0026quot;IF the upper square (the northwest square) is colder than the lower square by [2 degrees] AND IF the moisture of the lower square is [8 or above] THEN it rains in the lower square.\u0026quot;\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "content": "

    Using the following rule, which pair of grid squares (A, B, or C) will produce rain? 

    \r\n

    \"\"
    IF the upper square (the northwest square)  is colder than the lower square by [ 5 or more degrees ] AND IF the moisture of the lower square is [ 7 or more ] THEN it rains in the lower square.

    \r\n

     

    \r\n

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "If / Then Rule", + "type": "Embeddable::Xhtml", + "ref_id": "149130-Embeddable::Xhtml" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2175-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "If / Then Rule 3", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C.\",\"correct\":true}],\"prompt\":\"\u003Cp\u003EWhich square will rain according to the following rule:\u003C/p\u003E\\n\u003Cp\u003E\u0026quot;If the upper square (the northwest square) is colder than the lower square by [5 degrees] AND IF the moisture of the lower square is [6] THEN it rains in the lower square.\u0026quot;\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "If / Then Rule 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":true},{\"id\":\"3\",\"content\":\"C.\",\"correct\":false}],\"prompt\":\"

    Which square will have rain according to this rule?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2174-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2176-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143596, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Finding the Rule with a Model ", - "position": 4, - "show_header": false, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "name": "Best Rule", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhat is the best and final rule to fit where it actually rains in our virtual storm? (Hint: write the sentence in the model, \u0026quot;If the square to the northwest is colder by at least _____ AND IF the air moisture is at least _____ THEN it rains.\u0026quot;)\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "If / Then Rule 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":true},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. \",\"correct\":false}],\"prompt\":\"

    Which square will have rain according to the following rule:

    \\n

    "IF the upper square (the northwest square) is colder than the lower square by [2 degrees] AND IF the moisture of the lower square is [8 or above] THEN it rains in the lower square."

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2175-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2177-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "How Well Does the Rule Work", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EDid your rule fit the actual precipitation 100% for all the different times? Please explain why or why not.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "If / Then Rule 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C.\",\"correct\":true}],\"prompt\":\"

    Which square will rain according to the following rule:

    \\n

    "If the upper square (the northwest square) is colder than the lower square by [5 degrees] AND IF the moisture of the lower square is [6] THEN it rains in the lower square."

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2176-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143596, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Finding the Rule with a Model ", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Best Rule", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What is the best and final rule to fit where it actually rains in our virtual storm? (Hint: write the sentence in the model, "If the square to the northwest is colder by at least _____ AND IF the air moisture is at least _____ THEN it rains.")

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2177-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2178-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Refining and Testing a Rule with a Virtual Model\\n\\n**Objective:** To deepen students\u2019 understanding of rule refinement with a virtual model that makes it easy to experiment with two varying quantities -- temperature difference and air moisture content. Students use this understanding to solve the challenge of finding the best rule that predicts where precipitation occurs.\\n \\n**1. Encourage students to explore the model.** Ask students to explore all the features of the model. When experimenting with setting rule values, they should try the extreme settings (maximums and minimums) as well as more moderate settings. After 5 to 10 minutes of independent work, let them **tell you** what they have discovered. They might find: \\n\\n* Weather data for five different times with each data set separated by four hours. \\n* Grid squares showing moisture in the upper right corner and temperature in the lower left. \\n* Actual rainfall indicated with the light blue drops. \\n* When \\\"show-results-of-the-rules?\\\" is selected, check marks show which parts of the rule are true. \\n* Check marks appear for each part of the rule when true: orange check for the temperature difference rule and green checks for the moisture rule.\\n* The \\\"Show Rain with these Rules\\\" button displays dark blue drops only where both the temperature difference rule and the moisture rule are true. \\n\\nA short discussion about the following, might be valuable before students go on to the challenge.\\n* Why are there no check marks on the top and left side of the grid? (The temperature rule can\u2019t be calculated because there is no square to the northwest in those rows.)\\n* Is there a rule that makes it rain everywhere (not counting the top and left rows)? Or nowhere?\\n* How did you explore the rules? \\n* How did you test them? \\n* What did you learn? (See if students found a technique for exploring the model. Students might benefit from hearing each other\u2019s strategies.)\\n\\n**2. Challenge: Find the best rule.** Remind students that they are pursuing this question, \\\"Where does it rain?\\\" Or more specifically, \\\"What conditions of temperature and moisture result in rain?\\\" \\n\\nHave students test their rule to find the best fit between the real data (light blue) and the data produced by the rule (dark blue) for the five different times (7 am, 11 am, 3 pm, 7 pm, and 11 pm). They will record their findings in the questions that follow the model.\\n\\nNotes: Try to let students discover that there is no perfect rule. That is, even the best rule may make rain in a square or two that had none or produce rain where there was none. Students will have to work through this. If they find it frustrating, let them know the rule doesn\u2019t need to be perfect. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "How Well Does the Rule Work", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did your rule fit the actual precipitation 100% for all the different times? Please explain why or why not.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2178-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10248-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Lead a class discussion at the end of the activity. Please see possible discussion points below:\\n\\n* Did working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\n* Would the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\n* Do you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\n* Even if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nDid working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\nWould the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\nDo you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don\u2019t know.)\\n\\nEven if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nOptional discussion question, if you have time:\\nThe 7am, 11am, 3pm, and 7pm data matches the Virtual Storm event that you created in Lesson 2 and in Lesson 3. Is the rule that you developed in this activity different than the one in Lesson 3. How have they changed?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Refining and Testing a Rule with a Virtual Model\\n\\n**Objective:** To deepen students’ understanding of rule refinement with a virtual model that makes it easy to experiment with two varying quantities -- temperature difference and air moisture content. Students use this understanding to solve the challenge of finding the best rule that predicts where precipitation occurs.\\n \\n**1. Encourage students to explore the model.** Ask students to explore all the features of the model. When experimenting with setting rule values, they should try the extreme settings (maximums and minimums) as well as more moderate settings. After 5 to 10 minutes of independent work, let them **tell you** what they have discovered. They might find: \\n\\n* Weather data for five different times with each data set separated by four hours. \\n* Grid squares showing moisture in the upper right corner and temperature in the lower left. \\n* Actual rainfall indicated with the light blue drops. \\n* When \\\"show-results-of-the-rules?\\\" is selected, check marks show which parts of the rule are true. \\n* Check marks appear for each part of the rule when true: orange check for the temperature difference rule and green checks for the moisture rule.\\n* The \\\"Show Rain with these Rules\\\" button displays dark blue drops only where both the temperature difference rule and the moisture rule are true. \\n\\nA short discussion about the following, might be valuable before students go on to the challenge.\\n* Why are there no check marks on the top and left side of the grid? (The temperature rule can’t be calculated because there is no square to the northwest in those rows.)\\n* Is there a rule that makes it rain everywhere (not counting the top and left rows)? Or nowhere?\\n* How did you explore the rules? \\n* How did you test them? \\n* What did you learn? (See if students found a technique for exploring the model. Students might benefit from hearing each other’s strategies.)\\n\\n**2. Challenge: Find the best rule.** Remind students that they are pursuing this question, \\\"Where does it rain?\\\" Or more specifically, \\\"What conditions of temperature and moisture result in rain?\\\" \\n\\nHave students test their rule to find the best fit between the real data (light blue) and the data produced by the rule (dark blue) for the five different times (7 am, 11 am, 3 pm, 7 pm, and 11 pm). They will record their findings in the questions that follow the model.\\n\\nNotes: Try to let students discover that there is no perfect rule. That is, even the best rule may make rain in a square or two that had none or produce rain where there was none. Students will have to work through this. If they find it frustrating, let them know the rule doesn’t need to be perfect. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10248-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10249-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Alaskan Native Thoughts on Climate Change\\\", The International Polar Year, Sep 2, 2008, Run Time:02:09, http://www.ipy.org/index.php?/ipy/multimedia/\u0026view=1869\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Lead a class discussion at the end of the activity. Please see possible discussion points below:\\n\\n* Did working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\n* Would the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\n* Do you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don’t know.)\\n\\n* Even if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nDid working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\nWould the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\nDo you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don’t know.)\\n\\nEven if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nOptional discussion question, if you have time:\\nThe 7am, 11am, 3pm, and 7pm data matches the Virtual Storm event that you created in Lesson 2 and in Lesson 3. Is the rule that you developed in this activity different than the one in Lesson 3. How have they changed?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10249-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10250-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Passport To Knowledge: Polar Palooza\\\", http://passporttoknowledge.com/polar-palooza/video/native01a.mp4\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Alaskan Native Thoughts on Climate Change\\\", The International Polar Year, Sep 2, 2008, Run Time:02:09, http://www.ipy.org/index.php?/ipy/multimedia/&view=1869\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10250-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10251-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this tutorial to learn how students will be interacting with the Virtual Model to test and refine their rule statements to answer the question, \\\"Where does it rain?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: Where Does It Rain?, 2019, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Passport To Knowledge: Polar Palooza\\\", http://passporttoknowledge.com/polar-palooza/video/native01a.mp4\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10251-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10252-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "content": "\u003Cp\u003EPress \u003Cem\u003ESetup\u003C/em\u003E and \u003Cem\u003ERun\u003C/em\u003E. Then, use the sliders to refine your precipitation rule until you have found the best fit between the actual precipitation shown in light blue and the precipitation predicted by the rule in dark blue. Test your rule by clicking \u003Cem\u003EShow Rain with These Rules\u003C/em\u003E.\u003C/p\u003E\r\n\u003Cp\u003ETry your rule with all of the data sets.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK", - "type": "Embeddable::Xhtml", - "ref_id": "149131-Embeddable::Xhtml" - }, - "section": "interactive_box" - }, { - "embeddable": { - "aspect_ratio_method": "MANUAL", - "authored_state": null, - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": "", - "is_full_width": true, - "is_hidden": false, - "model_library_url": null, - "name": "", - "native_height": 800, - "native_width": 800, - "no_snapshots": false, - "show_delete_data_button": false, - "show_in_featured_question_report": true, - "url": "https://models-resources.concord.org/precip-models/precip-rule-ak-v5.html", - "type": "MwInteractive", - "ref_id": "96960-MwInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143694, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Quiz", - "position": 5, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148891-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Simplifying data to make it easier to interpret and find patterns\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) A type of art that makes it difficult to see what the artist is trying to show\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) A piece of something\",\"correct\":false},{\"content\":\"d) When you remove a sliver from your finger\",\"correct\":false,\"id\":\"3a59d5ea-7526-46e7-b468-ff8612b9852d\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cabstraction\u201d?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this tutorial to learn how students will be interacting with the Virtual Model to test and refine their rule statements to answer the question, \\\"Where does it rain?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: Where Does It Rain?, 2019, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10252-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2022-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) If the square to the north-west is colder by at least 3 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) If the square to the north-west is colder by at least 5 and if the moisture is at least 9 then it will rain.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) If the square to the north-west is colder by at least 7 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"content\":\"d) If the square to the north-west is colder by at least 5 and if the moisture is at least 7 then it will rain.\",\"correct\":true,\"id\":\"d2ba7a47-fe6d-4a57-a07a-4aa83f0af8e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the best rule to answer the question, \u201cWhere will it rain?\u201d\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "content": "

    Press Setup and Run. Then, use the sliders to refine your precipitation rule until you have found the best fit between the actual precipitation shown in light blue and the precipitation predicted by the rule in dark blue. Test your rule by clicking Show Rain with These Rules.

    \r\n

    Try your rule with all of the data sets.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149131-Embeddable::Xhtml" + }, + "section": "interactive_box" }, - "type": "ManagedInteractive", - "ref_id": "2023-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To keep children following the right behaviors\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To see the patterns in data that would allow a person to make a more accurate prediction\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) To explain the historical trends that occur in an area\",\"correct\":false},{\"content\":\"d) To measure the amount of rain that has fallen after a storm\",\"correct\":false,\"id\":\"6f5b2205-979f-4ca2-a12d-6389c5bf10a0\"}],\"prompt\":\"\u003Cp\u003E What is the purpose of a rule for predicting weather?\u003C/p\u003E\",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": null, "click_to_play": false, "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, + "enable_learner_state": false, "full_window": false, "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 800, + "native_width": 800, "no_snapshots": false, "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/precip-rule-ak-v5.html", + "type": "MwInteractive", + "ref_id": "96960-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143694, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148891-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2024-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Simplifying data to make it easier to interpret and find patterns\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) A type of art that makes it difficult to see what the artist is trying to show\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) A piece of something\",\"correct\":false},{\"content\":\"d) When you remove a sliver from your finger\",\"correct\":false,\"id\":\"3a59d5ea-7526-46e7-b468-ff8612b9852d\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “abstraction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2022-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) If the square to the north-west is colder by at least 3 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) If the square to the north-west is colder by at least 5 and if the moisture is at least 9 then it will rain.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) If the square to the north-west is colder by at least 7 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"content\":\"d) If the square to the north-west is colder by at least 5 and if the moisture is at least 7 then it will rain.\",\"correct\":true,\"id\":\"d2ba7a47-fe6d-4a57-a07a-4aa83f0af8e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the best rule to answer the question, “Where will it rain?”

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2023-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To keep children following the right behaviors\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To see the patterns in data that would allow a person to make a more accurate prediction\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) To explain the historical trends that occur in an area\",\"correct\":false},{\"content\":\"d) To measure the amount of rain that has fallen after a storm\",\"correct\":false,\"id\":\"6f5b2205-979f-4ca2-a12d-6389c5bf10a0\"}],\"prompt\":\"

    What is the purpose of a rule for predicting weather?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2024-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } } - }], + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json index 6f90a926..522f0c0f 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json @@ -13,273 +13,291 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143619, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Represent Wind Direction?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EThe word represent means to let one thing stand for another. For example, some people use the symbol of a\u003C/p\u003E\r\n\u003Cp\u003Eheart [\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png\" width=\"27\" height=\"23\" /\u003E] to represent (or stand for) love. \u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.\u003C/p\u003E\r\n\u003Cp\u003EHere are some different options Ms. Tevuk\u0026rsquo;s students are considering for representing wind direction.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull;\u0026nbsp;\u003Cstrong\u003EWind direction represented with degree number (between 0 and 360) based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png\" width=\"503\" height=\"230\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with letters based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png\" width=\"509\" height=\"234\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with arrows\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png\" alt=\"\" width=\"177\" height=\"181\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with different colors\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png\" alt=\"\" width=\"173\" height=\"177\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable style=\"border: solid 1px #000;\" cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use the \u003Cstrong\u003Eletters for the computer model\u003C/strong\u003E because there are only 8 options, so the computer will have simple information to calculate with and it won\u0026rsquo;t get stuck computing. We can use the \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because that way you can see which way the wind is going.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png\" width=\"267\" height=\"183\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png\" alt=\"\" width=\"270\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003ELet\u0026rsquo;s use \u003Cstrong\u003Enumber of degrees on the computer model\u003C/strong\u003E because computers do calculations with numbers. I think we should use \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because they make the pattern of wind direction easy to see.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png\" width=\"269\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png\" alt=\"\" width=\"271\" height=\"180\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Enumber of degrees for both the computer model and the map\u003C/strong\u003E because computers do calculations with numbers and our map should show what the computer calculated.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png\" width=\"257\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png\" width=\"253\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Ecolors for both the computer model and the map.\u003C/strong\u003E Colors are good for the map because it\u0026rsquo;s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png\" alt=\"\" width=\"275\" height=\"193\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png\" alt=\"\" width=\"275\" height=\"190\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147932-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143619, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147932-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1702-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning. \u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1702-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1703-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", - "show_as_menu": false, - "show_in_featured_question_report": true, - "choices": [{ - "choice": "Alex", - "is_correct": false, - "prompt": "" - }, { - "choice": "Delana", - "is_correct": false, - "prompt": "" - }, { - "choice": "Kalin", - "is_correct": false, - "prompt": "" - }, { - "choice": "Sage", - "is_correct": false, - "prompt": "" - }], - "type": "Embeddable::MultipleChoice", - "ref_id": "17148-Embeddable::MultipleChoice" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1703-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10301-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17148-Embeddable::MultipleChoice" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10302-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10301-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10303-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10302-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (It doesn’t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that “you’ve got to see it to believe it.” \\n\\nStudents who choose Kalin’s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what’s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there’s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n•\\t**Both Alex’s response (choose the value half way between)** and **Sage’s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex’s and/or Sage’s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n•\\t**Delana’s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana’s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10303-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } } - }], + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json index 1ca9f508..60f24dd1 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json @@ -13,273 +13,291 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143617, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EHow Should We Represent Wind Direction?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EThe word represent means to let one thing stand for another. For example, some people use the symbol of a\u003C/p\u003E\r\n\u003Cp\u003Eheart [\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png\" width=\"27\" height=\"23\" /\u003E] to represent (or stand for) love. \u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EFour students in Ms. Tevuk\u0026rsquo;s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.\u003C/p\u003E\r\n\u003Cp\u003EHere are some different options Ms. Tevuk\u0026rsquo;s students are considering for representing wind direction.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull;\u0026nbsp;\u003Cstrong\u003EWind direction represented with degree number (between 0 and 360) based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png\" width=\"503\" height=\"230\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with letters based on the compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png\" width=\"509\" height=\"234\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with arrows\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png\" alt=\"\" width=\"177\" height=\"181\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u0026bull;\u0026nbsp;Wind direction represented with different colors\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png\" alt=\"\" width=\"173\" height=\"177\" /\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable style=\"border: solid 1px #000;\" cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png\" width=\"60\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use the \u003Cstrong\u003Eletters for the computer model\u003C/strong\u003E because there are only 8 options, so the computer will have simple information to calculate with and it won\u0026rsquo;t get stuck computing. We can use the \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because that way you can see which way the wind is going.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png\" width=\"267\" height=\"183\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png\" alt=\"\" width=\"270\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003ELet\u0026rsquo;s use \u003Cstrong\u003Enumber of degrees on the computer model\u003C/strong\u003E because computers do calculations with numbers. I think we should use \u003Cstrong\u003Earrows on the map\u003C/strong\u003E because they make the pattern of wind direction easy to see.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png\" width=\"269\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png\" alt=\"\" width=\"271\" height=\"180\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Cth style=\"border-right: solid 1px #000;\" colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png\" width=\"65\" height=\"88\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-right: solid 1px #000; border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Enumber of degrees for both the computer model and the map\u003C/strong\u003E because computers do calculations with numbers and our map should show what the computer calculated.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png\" width=\"257\" height=\"185\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png\" width=\"253\" height=\"181\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000;\" width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png\" width=\"65\" height=\"92\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border-bottom: solid 1px #000; padding: 10px;\" width=\"350\"\u003E\r\n\u003Cp\u003EI think we should use \u003Cstrong\u003Ecolors for both the computer model and the map.\u003C/strong\u003E Colors are good for the map because it\u0026rsquo;s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png\" alt=\"\" width=\"275\" height=\"193\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png\" alt=\"\" width=\"275\" height=\"190\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147929-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"\u003Cp\u003EWhich student\u2019s idea do you agree with the most?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143617, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147929-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1698-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning. \u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1698-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1699-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }, { - "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhich student\u0026rsquo;s idea do you agree with the most?\u003C/p\u003E", - "show_as_menu": false, - "show_in_featured_question_report": true, - "choices": [{ - "choice": "Alex", - "is_correct": false, - "prompt": "" - }, { - "choice": "Delana", - "is_correct": false, - "prompt": "" - }, { - "choice": "Kalin", - "is_correct": false, - "prompt": "" - }, { - "choice": "Sage", - "is_correct": false, - "prompt": "" - }], - "type": "Embeddable::MultipleChoice", - "ref_id": "17146-Embeddable::MultipleChoice" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1699-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10295-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17146-Embeddable::MultipleChoice" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10296-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n\u2022\\t**Kalin\u2019s response (It doesn\u2019t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that \u201cyou\u2019ve got to see it to believe it.\u201d \\n\\nStudents who choose Kalin\u2019s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what\u2019s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there\u2019s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n\u2022\\t**Both Alex\u2019s response (choose the value half way between)** and **Sage\u2019s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex\u2019s and/or Sage\u2019s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n\u2022\\t**Delana\u2019s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana\u2019s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10295-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10297-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10296-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (It doesn’t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that “you’ve got to see it to believe it.” \\n\\nStudents who choose Kalin’s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what’s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there’s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n•\\t**Both Alex’s response (choose the value half way between)** and **Sage’s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex’s and/or Sage’s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n•\\t**Delana’s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana’s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10297-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } } - }], + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5.json b/src/public/offline-activities/precipitating-change-v4/lesson-5.json index 25d504a3..31d9d667 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-5.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5.json @@ -1,5 +1,5 @@ { - "description": "\u003Cp\u003EIdentifying Air Masses: Where does the air come from?\u003C/p\u003E", + "description": "

    Identifying Air Masses: Where does the air come from?

    ", "editor_mode": 0, "layout": 0, "name": "Alaska 2021 - Lesson 5: Identifying Air Masses", @@ -13,1152 +13,1229 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143690, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Real World Application", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how wind direction\u0026nbsp;impacts different air masses.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148015-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143690, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how wind direction impacts different air masses.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148015-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1767-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143599, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the weather - wind! The direction of the wind can give you clues about what weather to expect. And when the wind changes its direction drastically, interesting weather events can happen.

    \n


    In this lesson you will explore how air masses interact by setting up a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more weather stations. In your Science Notebook, go to Lesson 5 to locate the following information: 
            0 Map with Additional Weather Stations and Data Tables 
            0 Alaskan Stations 7 pm Readings
            0 Alaskan Stations 7 pm Interpolated Map
            0 Alaskan Stations 7 am Interpolated Map
           

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147905-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 5: IDENTIFYING AIR MASSES\\n\\n**WHERE DOES THE AIR COME FROM?**\\n\\nIn this lesson, students investigate the role that wind plays in determining the weather and are introduced to ways to identify and define an air mass. Air masses have a similar range of weather variables (temperature and moisture), have indistinct boundaries, and are categorized by the range of weather variables within them. The air within an air mass is constantly moving and precipitation can occur where air from different air masses mixes/interacts. Scientists use models to predict where precipitation will occur based on where different air masses interact, the type of air in each, and the movement of that air.\\n\\nTo begin to identify air masses, students will do a hands-on wind table activity, and get new temperature, air moisture content, and wind direction data for five additional weather stations. As in Lesson 4, the students once again construct a set of rules through a series of activities that allow them to uncover patterns in the data, investigate the mechanisms for these patterns, and abstract a rule that describes the relationship between wind direction, its associated air mass, and the resulting precipitation. \\n\\n###LEARNING GOALS\\nStudents will be able to:\\n\\n* Identify and define an air mass\\n\\n* Explain that air masses are defined by where they come from\\n\\n* Explain the role of wind in weather events\\n\\n* Identify where on a map two different masses are interacting/mixing\\n\\n* Develop a rule for how wind moves and test the rule with multiple kinds of air masses\\n\\n* Develop a rule to express the relationship between weather components (temperature and moisture) and air masses\\n\\nComputational Thinking (CT) skills introduced in this lessons can be found in the table below:\\n\\n| CT Skill | Definition |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed |\\n| Rule Testing | Investigating whether a rule will still be true in different situations |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model |\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10259-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (90 mins)\\n\\n**Key Activities:**\\n\\nLesson 5: Alaska Mainland - Identifying Air Masses\\n\\n* Activity 1- What is an Air Mass (45 mins)\\n\\n* Activity 2 - What happens when air masses collide (10 mins)\\n\\n* Activity 3 - How do air masses affect precipitation? (25 mins)\\n\\n* Post-Assessment - What Are the Rules for Fronts and Precipitation? (10 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - What is an Air Mass?\\n\\nPer Research Team:\\n\\n* Direct students to Lesson 5 in their Science Notebooks to find the following information:\\n * Lesson 5, Activity 1: Wind Table Instructions and Questions\\n * Lesson 5, Activity 2: Additional Weather Station Data\\n * Lesson 5, Activity 2: Weather Stations 7 pm Readings\\n * Lesson 5, Activity 2: Weather Stations 7 pm Interpolated\\n * Lesson 5, Activity 2: 7 pm Weather Station Data and 7 pm Radar Map\\n * Lesson 5, Activity 2: 7 am Weather Station Data \\n\\nPer Class:\\n\\n* Set up on one demonstration table that students can gather around: a wind fan, a piece of paper with a wind rose taped to the table, and a single weather vane. See below for a top-down view. \\n\\n\\n\\n* To print the wind rose, click [here](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg) to download. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10260-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 5.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10261-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143600, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Measuring Wind with the Compass 

    \n

    One way wind direction can be measured is with a weather vane or air socks. When the wind blows, the weather vane rotates and lines up with the path the air is flowing. So, wind direction is determined by what direction the wind is blowing and measured in degrees (°).

    \n

    \"\"

    \n

    In this activity, you will use a Wind Table to map the movement of air on a grid representing a region in Alaska. Go to your Science Notebooks, Lesson 5, page 21, for further instructions and to record your observations.

    \n

    Wind Table

    \n

    \n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147906-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"\\n###Activity 1 - **What is an Air Mass?**\\nIn this activity students explore the patterns of air movement within and between air masses. Using a hands-on “wind table,” they engage in a tangible interaction with wind. By leveraging patterns from the previous activity dataset and the wind table, they will discover that when two air masses meet, the air converges. Weather scientists refer to these regions as fronts. \\n\\n###Wind Table Directions\\n * **1.Introduce the Wind Table.** Wind is one of the first things that atmospheric scientists look at when investigating the weather, but it can be difficult to understand by just looking at data and maps. A hands-on model is helpful to investigate a phenomenon like the wind.\\n\\n\\n * **2.Assign teams:** Assign research teams a Wind Table position number, either #1 or #2. \\n * **3.Wind tunnel position:** Have students place wind tunnel #1 and wind tunnel #2 according to the diagram in their Science Notebook for their assigned Team #.\\n * **4.Reminders:** Read over the things to keep in mind on page 21 in the Science Notebook, together as a class:\\n * **BE CAREFUL NOT TO PUT YOUR FINGERS NEAR THE FAN**\\n * Graph paper represents a region.\\n * A wind vane can be placed anywhere on the graph paper to determine what direction the wind is coming from.\\n * Record the wind direction by drawing an arrow in the direction the wind vane is pointing. (Recall that wind is always recorded showing the direction the wind is coming from.) If there is not a clear determination where the wind is coming from, then leave the square blank.\\n * Place a Styrofoam ball on the wind table to see the interaction between the two air masses.\\n * **5.Analyze air mass interactions** \\n\\n * Once all of the groups have finished mapping the wind direction, ask the students to determine the boundary of the two air masses by drawing a circle around the different air masses. \\n\\n * Ask the students if there was anywhere on the grid that they either had trouble deciding what direction to draw their arrow. Some students might remark that the wind vane wobbles or spins in the region between the two distinct air masses. Instruct the students to identify the diagonal region between the two air masses and circle this area with a green marker. \\n\\n* **6.Connecting the Wind Table to the interpolated map.** Ask students to compare Alaska Weather Stations: 7 pm Interpolated data with the wind map they created on their Wind Table. Lead a class conversation. See possible Discussion Points below. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10262-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Mass Properties \\n\\nTo a weather scientist, an air mass is a body of air with similar temperature and air moisture content. (Note that scientists also include pressure, but pressure is not covered in this unit.)\\n\\n###Wind Table Demonstration \\nThe compass rose describes the direction the wind is blowing in degrees. Wind coming directly from the South has a direction of 180°, from the East 90°, from the North 360°, etc. Place the fan to the “North” of the weather vane and turn it on. Move the weather vane so that it's at the center of the rose and have students read the wind direction from the rose. Then, move the fan to other locations. Ask students where you should move the fan to get a wind direction of, for example, 180°, 90°, 45°, etc. Move the fan to check their predictions. \\n\\n**Teacher Note:** Wind direction is determined by what direction the wind is coming from. This is a consequence of how it is measured. A weather scientist says, “winds coming from the northeast” not “winds heading southwest.” This distinction becomes very important when trying to map the flow of air over a region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10263-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143601, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    IDENTIFYING AIR MASSES

    \r\n

    In Lesson 5 of your Science Notebook on pages 21-23, you have additional data weather station data and maps that show you the direction of the wind. On page 22, you will find a map that shows you the 7 pm reading from the additional weather stations. The arrows on the map represent the wind direction. The data on page 23 of your Science Notebook, \"Weather Stations 7 pm Interpolated\" comes from an interpolation of wind direction across the mainland of Alaska at 7 pm. See map below. Using the map on page 23, draw a line that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. It is your job to determine where you see that change in the wind direction.

    \r\n

    Strategy for Identifying Two Air Masses:

    \r\n

    1. Make Sense of the Map: 
           • Look at each row and see if the arrows change direction as you move across the row. 
           • Look at each column and see if the arrows change direction as you move down the column. 
    2. Identify where you are going to place your line. 
    3. Draw your line on your paper map.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147907-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Why did you draw the line there?

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208885-Embeddable::OpenResponse" + }, + "section": null + }, + { + "embeddable": { "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "authored_state": "", "click_to_play": false, "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", "enable_learner_state": false, "full_window": false, "has_report_url": false, "image_url": null, - "name": "Video Player", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Identifying Air Masses and Fronts", "native_height": 435, "native_width": 576, "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4.html", + "type": "MwInteractive", + "ref_id": "97692-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143602, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The line that you drew across your map represents a boundary between two air masses. An air mass is a body of air with similar temperature and air moisture content. Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an air moisture content number at the bottom of the square.

    \n

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147908-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1767-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143599, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Opening", - "position": 2, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EHave you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the\u0026nbsp;weather\u0026nbsp;- wind! The direction of the wind can give you clues about what\u0026nbsp;weather\u0026nbsp;to expect. And when the wind changes its direction drastically, interesting\u0026nbsp;weather\u0026nbsp;events can happen.\u003C/p\u003E\n\u003Cp\u003E\u003Cbr /\u003EIn this lesson you will explore how air masses interact by\u0026nbsp;setting up a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more\u0026nbsp;weather\u0026nbsp;stations. In your Science Notebook, go to Lesson 5 to locate the following information:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Map with Additional Weather Stations and Data Tables\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Readings \u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 0 Alaskan Stations 7 pm Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;0 Alaskan Stations 7 am Interpolated Map\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147905-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 5: IDENTIFYING AIR MASSES\\n\\n**WHERE DOES THE AIR COME FROM?**\\n\\nIn this lesson, students investigate the role that wind plays in determining the weather and are introduced to ways to identify and define an air mass. Air masses have a similar range of weather variables (temperature and moisture), have indistinct boundaries, and are categorized by the range of weather variables within them. The air within an air mass is constantly moving and precipitation can occur where air from different air masses mixes/interacts. Scientists use models to predict where precipitation will occur based on where different air masses interact, the type of air in each, and the movement of that air.\\n\\nTo begin to identify air masses, students will do a hands-on wind table activity, and get new temperature, air moisture content, and wind direction data for five additional weather stations. As in Lesson 4, the students once again construct a set of rules through a series of activities that allow them to uncover patterns in the data, investigate the mechanisms for these patterns, and abstract a rule that describes the relationship between wind direction, its associated air mass, and the resulting precipitation. \\n\\n###LEARNING GOALS\\nStudents will be able to:\\n\\n* Identify and define an air mass\\n\\n* Explain that air masses are defined by where they come from\\n\\n* Explain the role of wind in weather events\\n\\n* Identify where on a map two different masses are interacting/mixing\\n\\n* Develop a rule for how wind moves and test the rule with multiple kinds of air masses\\n\\n* Develop a rule to express the relationship between weather components (temperature and moisture) and air masses\\n\\nComputational Thinking (CT) skills introduced in this lessons can be found in the table below:\\n\\n| CT Skill | Definition |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed |\\n| Rule Testing | Investigating whether a rule will still be true in different situations |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model |\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "content": "

    Develop a way to define the two air masses using the temperature and air moisture content values provided on the Alaskan Stations: Interpolated at 7 pm Map.

    \r\n

    \r\n

    Defined Air Masses for the Alaska Mainland at 7 pm

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "DEFINING AIR MASSES", + "type": "Embeddable::Xhtml", + "ref_id": "147909-Embeddable::Xhtml" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10259-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (90 mins)\\n\\n**Key Activities:**\\n\\nLesson 5: Alaska Mainland - Identifying Air Masses\\n\\n* Activity 1- What is an Air Mass (45 mins)\\n\\n* Activity 2 - What happens when air masses collide (10 mins)\\n\\n* Activity 3 - How do air masses affect precipitation? (25 mins)\\n\\n* Post-Assessment - What Are the Rules for Fronts and Precipitation? (10 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - What is an Air Mass?\\n\\nPer Research Team:\\n\\n* Direct students to Lesson 5 in their Science Notebooks to find the following information:\\n * Lesson 5, Activity 1: Wind Table Instructions and Questions\\n * Lesson 5, Activity 2: Additional Weather Station Data\\n * Lesson 5, Activity 2: Weather Stations 7 pm Readings\\n * Lesson 5, Activity 2: Weather Stations 7 pm Interpolated\\n * Lesson 5, Activity 2: 7 pm Weather Station Data and 7 pm Radar Map\\n * Lesson 5, Activity 2: 7 am Weather Station Data \\n\\nPer Class:\\n\\n* Set up on one demonstration table that students can gather around: a wind fan, a piece of paper with a wind rose taped to the table, and a single weather vane. See below for a top-down view. \\n\\n\u003Cimg src=\\\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5WIndTablesTopDownView1.jpg\\\" width=\\\"400\\\" height=\\\"350\\\"\u003E\\n\\n* To print the wind rose, click [here](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg) to download. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Air Mass #1 Properties

    \r\n

    Temperature: Compare Air Mass #1 to Air Mass #2.

    \r\n

    Air Mass #1 is:

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "colder", + "is_correct": false, + "prompt": "" + }, + { + "choice": "warmer", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17140-Embeddable::MultipleChoice" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10260-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 5.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    \r\n

    Air moisture: Compare Air Mass #1 to Air Mass #2.

    \r\n

    Air Mass #1 is:

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "more moist", + "is_correct": false, + "prompt": "" + }, + { + "choice": "more dry", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17141-Embeddable::MultipleChoice" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10261-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143600, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "What is an air mass?", - "position": 3, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EMeasuring Wind with the Compass\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EOne way wind direction\u0026nbsp;can be measured is with\u0026nbsp;a weather\u0026nbsp;vane or air socks. When the wind blows, the\u0026nbsp;weather\u0026nbsp;vane rotates and lines up with the path the air is flowing. So,\u0026nbsp;wind direction\u0026nbsp;is determined by what direction the wind is blowing and measured in degrees (\u0026deg;).\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg\" alt=\"\" width=\"323\" height=\"328\" /\u003E\u003C/p\u003E\n\u003Cp\u003EIn this activity, you will use a Wind Table to map the movement of air on a grid representing a region in Alaska. Go to your Science Notebooks, Lesson 5, page 21, for further instructions and to record your observations.\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EWind Table\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png\" width=\"576\" height=\"510\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147906-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"\\n###Activity 1 - **What is an Air Mass?**\\nIn this activity students explore the patterns of air movement within and between air masses. Using a hands-on \u201cwind table,\u201d they engage in a tangible interaction with wind. By leveraging patterns from the previous activity dataset and the wind table, they will discover that when two air masses meet, the air converges. Weather scientists refer to these regions as fronts. \\n\\n###Wind Table Directions\\n * **1.Introduce the Wind Table.** Wind is one of the first things that atmospheric scientists look at when investigating the weather, but it can be difficult to understand by just looking at data and maps. A hands-on model is helpful to investigate a phenomenon like the wind.\\n\\n\\n * **2.Assign teams:** Assign research teams a Wind Table position number, either #1 or #2. \\n * **3.Wind tunnel position:** Have students place wind tunnel #1 and wind tunnel #2 according to the diagram in their Science Notebook for their assigned Team #.\\n * **4.Reminders:** Read over the things to keep in mind on page 21 in the Science Notebook, together as a class:\\n * **BE CAREFUL NOT TO PUT YOUR FINGERS NEAR THE FAN**\\n * Graph paper represents a region.\\n * A wind vane can be placed anywhere on the graph paper to determine what direction the wind is coming from.\\n * Record the wind direction by drawing an arrow in the direction the wind vane is pointing. (Recall that wind is always recorded showing the direction the wind is coming from.) If there is not a clear determination where the wind is coming from, then leave the square blank.\\n * Place a Styrofoam ball on the wind table to see the interaction between the two air masses.\\n * **5.Analyze air mass interactions** \\n\\n * Once all of the groups have finished mapping the wind direction, ask the students to determine the boundary of the two air masses by drawing a circle around the different air masses. \\n\\n * Ask the students if there was anywhere on the grid that they either had trouble deciding what direction to draw their arrow. Some students might remark that the wind vane wobbles or spins in the region between the two distinct air masses. Instruct the students to identify the diagonal region between the two air masses and circle this area with a green marker. \\n\\n* **6.Connecting the Wind Table to the interpolated map.** Ask students to compare Alaska Weather Stations: 7 pm Interpolated data with the wind map they created on their Wind Table. Lead a class conversation. See possible Discussion Points below. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Air Mass #2 Properties

    \r\n

    Temperature: Compare Air Mass #2 to Air Mass #1.

    \r\n

    Air Mass #2 over land is:

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "colder", + "is_correct": false, + "prompt": "" + }, + { + "choice": "warmer", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17142-Embeddable::MultipleChoice" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10262-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Mass Properties \\n\\nTo a weather scientist, an air mass is a body of air with similar temperature and air moisture content. (Note that scientists also include pressure, but pressure is not covered in this unit.)\\n\\n###Wind Table Demonstration \\nThe compass rose describes the direction the wind is blowing in degrees. Wind coming directly from the South has a direction of 180\u00b0, from the East 90\u00b0, from the North 360\u00b0, etc. Place the fan to the \u201cNorth\u201d of the weather vane and turn it on. Move the weather vane so that it's at the center of the rose and have students read the wind direction from the rose. Then, move the fan to other locations. Ask students where you should move the fan to get a wind direction of, for example, 180\u00b0, 90\u00b0, 45\u00b0, etc. Move the fan to check their predictions. \\n\\n**Teacher Note:** Wind direction is determined by what direction the wind is coming from. This is a consequence of how it is measured. A weather scientist says, \u201cwinds coming from the northeast\u201d not \u201cwinds heading southwest.\u201d This distinction becomes very important when trying to map the flow of air over a region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    \"\"

    \r\n

    Air moisture: Compare Air Mass #2 to Air Mass #1.

    \r\n

    Air Mass #2 is:

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "more moist", + "is_correct": false, + "prompt": "" + }, + { + "choice": "more dry", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17143-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143603, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Fronts

    \n

    The region between two different air masses is called a front. Weather scientists are very interested in fronts because they are where the weather can change. Sometimes this change is very sudden.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147910-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10263-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143601, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "What is an air mass? (cont.)", - "position": 4, - "show_header": true, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EIDENTIFYING AIR MASSES\u003C/p\u003E\r\n\u003Cp\u003EIn Lesson 5 of your Science Notebook on pages 21-23, you have additional data weather station data and maps that show you the direction of the wind. On page 22, you will find a map that shows you the 7 pm reading from the additional weather stations. The arrows on the map represent the\u0026nbsp;wind direction. The data on page 23 of your Science Notebook, \"Weather Stations 7 pm Interpolated\" comes from an\u0026nbsp;interpolation\u0026nbsp;of wind direction\u0026nbsp;across the mainland of Alaska at 7 pm. See map below. Using the map on page 23, draw a line that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. It is your job to determine where you see that change in the\u0026nbsp;wind direction.\u003C/p\u003E\r\n\u003Cp\u003EStrategy for Identifying Two Air Masses:\u003C/p\u003E\r\n\u003Cp\u003E1. Make Sense of the Map:\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each row and see if the arrows change direction as you move across the row.\u0026nbsp;\u003Cbr /\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026bull; Look at each column and see if the arrows change direction as you move down the column.\u0026nbsp;\u003Cbr /\u003E2. Identify where you are going to place your line.\u0026nbsp;\u003Cbr /\u003E3. Draw your line on your paper map.\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147907-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhy did you draw the line there?\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208885-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "aspect_ratio_method": "DEFAULT", - "authored_state": "", - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "is_full_width": true, - "is_hidden": false, - "model_library_url": null, - "name": "Identifying Air Masses and Fronts", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": true, - "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4.html", - "type": "MwInteractive", - "ref_id": "97692-MwInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143602, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "What is an air mass? (cont.)", - "position": 5, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EThe line that you drew across your map represents a boundary between two\u0026nbsp;air masses. An air mass is a body of air with similar temperature and\u0026nbsp;air moisture\u0026nbsp;content. Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an\u0026nbsp;air moisture\u0026nbsp;content number at the bottom of the square.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg\" width=\"212\" height=\"292\" /\u003E\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147908-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "content": "\u003Cp\u003EDevelop a way to define the two air masses using the temperature and\u0026nbsp;air moisture\u0026nbsp;content values provided on the Alaskan Stations: Interpolated at 7 pm Map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg\" width=\"651\" height=\"429\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDefined Air Masses for the Alaska Mainland at 7 pm\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "DEFINING AIR MASSES", - "type": "Embeddable::Xhtml", - "ref_id": "147909-Embeddable::Xhtml" - }, - "section": null - }, { - "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "\u003Cp\u003E\u003Cstrong\u003EAir Mass #1 Properties\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETemperature: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E", - "show_as_menu": false, - "show_in_featured_question_report": true, - "choices": [{ - "choice": "colder", - "is_correct": false, - "prompt": "" - }, { - "choice": "warmer", - "is_correct": false, - "prompt": "" - }], - "type": "Embeddable::MultipleChoice", - "ref_id": "17140-Embeddable::MultipleChoice" - }, - "section": null - }, { - "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\" width=\"321\" height=\"88\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAir moisture: Compare Air Mass #1 to Air Mass #2.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #1 is:\u003C/p\u003E", - "show_as_menu": false, - "show_in_featured_question_report": true, - "choices": [{ - "choice": "more moist", - "is_correct": false, - "prompt": "" - }, { - "choice": "more dry", - "is_correct": false, - "prompt": "" - }], - "type": "Embeddable::MultipleChoice", - "ref_id": "17141-Embeddable::MultipleChoice" - }, - "section": null - }, { - "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "\u003Cp\u003E\u003Cstrong\u003EAir Mass #2 Properties\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003ETemperature: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #2 over land is:\u003C/p\u003E", - "show_as_menu": false, - "show_in_featured_question_report": true, - "choices": [{ - "choice": "colder", - "is_correct": false, - "prompt": "" - }, { - "choice": "warmer", - "is_correct": false, - "prompt": "" - }], - "type": "Embeddable::MultipleChoice", - "ref_id": "17142-Embeddable::MultipleChoice" - }, - "section": null - }, { - "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/air-moisture-scale.png\" alt=\"\" width=\"354\" height=\"99\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAir moisture: Compare Air Mass #2 to Air Mass #1.\u003C/p\u003E\r\n\u003Cp\u003EAir Mass #2 is:\u003C/p\u003E", - "show_as_menu": false, - "show_in_featured_question_report": true, - "choices": [{ - "choice": "more moist", - "is_correct": false, - "prompt": "" - }, { - "choice": "more dry", - "is_correct": false, - "prompt": "" - }], - "type": "Embeddable::MultipleChoice", - "ref_id": "17143-Embeddable::MultipleChoice" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143603, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Two air masses colliding", - "position": 6, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EFronts\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EThe region between two different air masses is called a\u0026nbsp;\u003Cstrong\u003Efront.\u003C/strong\u003E Weather scientists are very interested in fronts because they are where the\u0026nbsp;weather\u0026nbsp;can change. Sometimes this change is very sudden.\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147910-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "content": "\u003Cp\u003EGo to page 24 in your Science Notebook and compare the 7 pm interpolated map and the 7 pm radar map.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg\" alt=\"\" width=\"860\" height=\"300\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EDiscuss with your research team and write a general statement that answers the question, \u0026ldquo;How do air masses affect where it rains?\"\u0026nbsp;\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK", - "type": "Embeddable::Xhtml", - "ref_id": "147911-Embeddable::Xhtml" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "\u003Cp\u003E\u0026bull; Where is the front? Where is it raining? How do they compare?\u003Cbr /\u003E\u0026bull; How does the location of the precipitation on the radar map compare to the warm air mass, the cold air mass, and the front?\u003Cbr /\u003E\u0026bull; What is the air like where it is raining?\u003C/p\u003E", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EHow do air masses affect where it rains?\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208886-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "content": "\u003Cp\u003EGo to page 25 in your Science Notebook and work with you research team to make a prediction for where you think it could rain at 7 am by drawing on the 7 am weather station map in your notebook.\u003C/p\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png\" width=\"437\" height=\"263\" /\u003E\u003C/p\u003E\r\n\u003Cp\u003EAlaska Stations: Interpolated at 7 am\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK", - "type": "Embeddable::Xhtml", - "ref_id": "147912-Embeddable::Xhtml" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EExplain why you think it could rain in the area you selected.\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208887-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Masses\\n\\nPossible discussion questions:\\n\\n* How do we identify air masses? (Responses should center on temperature, moisture and wind direction.)\\n\\n* What have you learned about the wind?\\n\\n* What questions do you still have?\\n\\n* Why do you think the wind is important in understanding the weather?\\n\\n\u2022 Are there any connections between the location of the air masses, fronts and precipitation? \\n\\n\u2022 Why do you think it is raining in some places and not others?\\n\\n**Teacher note:** Because air is invisible, students tend to have a lot of misconceptions about it. For example, the idea that air is a substance that can move is central to this lesson. It is easy to assume that students understand this concept when they may not. Asking probing questions can help bring their preconceptions to the forefront. The wind table will help students by giving them a concrete experience.\\n\\n###Describing the Front\\n\\n**Teacher note:** Student responses should be in terms of the actual movement of air and not just wind directions. The front is a particularly important area as students should identify it as a place where warm and cold air from the two air masses is coming together or mixing. Students will need a solid understanding of this concept as it will be revisited in the next lesson when they look at how fronts move over a region. \\n\\n###What is Happening at the Front\\n\\n**Teacher Note:** Students will likely notice that there is precipitation outside the area of the front and there are areas along the front that don\u2019t show precipitation. Make note of these discrepancies and remind them that, as we have seen before, we may not have all of the information to explain everything that we see. Some of their observations will be addressed in Lesson 5.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "content": "

    Go to page 24 in your Science Notebook and compare the 7 pm interpolated map and the 7 pm radar map.

    \r\n

    \"\"

    \r\n

    Discuss with your research team and write a general statement that answers the question, “How do air masses affect where it rains?\"  

    \r\n

     

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147911-Embeddable::Xhtml" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10264-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143604, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Two air masses colliding (cont.)", - "position": 7, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EYou have made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am. The radar image shows where it was actually raining at 7 am.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png\" width=\"678\" height=\"500\" /\u003E\u003C/p\u003E\n\u003Cp\u003ERadar Image for 7 am\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147913-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EHow accurate was your prediction?\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208888-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003ELook back at your original rule for the question, \u0026ldquo;How do air masses affect where it rains?\u0026rdquo; Using what you learned with the 7 am data, revise your rule.\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208889-Embeddable::OpenResponse" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143605, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Air masses and precipitation", - "position": 8, - "show_header": true, - "show_info_assessment": true, - "show_interactive": true, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWhen you feel the wind blow on your face, you are feeling air from another place. Sometimes it feels cold; sometimes it feels warm. The wind is what moves air. Weather scientists use\u0026nbsp;wind direction\u0026nbsp;to distinguish multiple air masses. What happens at the boundary of those two air masses? You will explore that question using a new Virtual Model. \u0026nbsp;\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147914-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "content": "\u003Cp\u003EThis model shows wind as moving arrowheads and precipitation as green circles. There are two air masses. Identify where the front is.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EThen, by trying different settings of the temperature and moisture, see if you can make up a rule for what conditions produce precipitation along the front, and on which side of the front the precipitation will occur.\u0026nbsp;\u003C/p\u003E\r\n\u003Cp\u003EStart by pressing \u003Cstrong\u003ESetup\u003C/strong\u003E and \u003Cstrong\u003ERun\u003C/strong\u003E. As you change temperatures and moisture settings you may want to press \u003Cstrong\u003ESetup\u003C/strong\u003E occasionally to start fresh. Be sure to discuss what you find with your research team.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK ", - "type": "Embeddable::Xhtml", - "ref_id": "147915-Embeddable::Xhtml" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EDescribe the position of the front, and explain how you know this.\u003C/p\u003E\r\n\u003Cp\u003EYou may use city names as landmarks.\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208890-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "\u003Cp\u003E\u0026bull; Look at the temperature values for Air Mass 1 and Air Mass 2\u003Cbr /\u003E\u0026bull; Look at the moisture values for Air Mass 1 and Air Mass 2\u003C/p\u003E", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhat are the conditions in the model that result in precipitation happening along a front?\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208891-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "\u003Cp\u003E\u0026bull; Is the precipitation happening more on the colder side of the front?\u003Cbr /\u003E\u0026bull; Is the precipitation happening more on the warmer side of the front?\u003C/p\u003E", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EDescribe specifically where the precipitation happens within the front.\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208892-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "\u003Cp\u003EMake sure to use precise language and include both temperature and moisture values.\u003C/p\u003E", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EFinalize your rule statement for \u0026ldquo;How do air masses affect where it rains?\u0026rdquo;\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208893-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 3 - How Do Air Masses Affect Precipitation? Virtual Model\\n\\n**Objective:** To build students\u2019 rule refinement skills by experimenting with a model to figure out its built-in weather rules. In this model, precipitation falls under a variety of conditions that can be set by changing temperatures and moisture for two air masses. \\n\\nStudents can vary the temperature and moisture of two air masses in order to better understand how interacting air masses create patterns of rain at a front. Through this process, students will come up with an even more robust rule for predicting rain that involves interacting air masses. The specific computational thinking practice highlighted and practiced in this activity is **Rule Refinement**.\\n\\n**1. Class discussion about air mass properties.**Use the Alaska Weather Stations: 7am Interpolated map! [](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg) to remind students of the properties of the air masses in their regional weather system. See Discussion Points below for possible prompts. \\n\\n**2. Set up the model challenge.** \\n\\n* Have students recall the rule they developed to answer the question \u201cHow do air masses affect where it rains?\u201d \\n\\n* Students will use the Lesson 5 virtual model to help refine their rule.\\n\\n**3. Exploring the Virtual Model.** \\n\\nIntroduce the task, and give students time to explore the model. Then let them tell you what they discovered. They may notice:\\n\\n * The properties of the incoming air can be changed using the sliders on the left and bottom.\\n\\n * The direction of the wind can be seen with arrows and trails that can be turned on or off.\\n\\n * Precipitation appears as green circles with bigger circles meaning heavier rain.\\n\\n * Color of arrows correspond to temperature (Red = Warm, Blue = Cold, Purple = In Between)\\n\\n * Size of arrows correspond to air moisture (Small = dry, Large = moist or humid)\\n\\nYou may want to point out that\\n\\n * Even though the air in the model moves, the model shows airflow for a certain time. Time does not change.\\n\\n**4. Experiment with the Model to find the Rule**\\n\\nTell students that this model has a built-in rule for precipitation made by the model\u2019s programmer. Students\u2019 challenge is to discover the rule by experimenting with the model. \\n\\n * Students may find it helpful to express their experiments comparing warmer or colder temperatures and moister or drier moisture values instead of specific temperatures or air moisture values.\\n\\n * Give students time to play with the model and record their understanding of the model rule design in the questions that follow.\\n\\nNOTE: This is a fairly sophisticated weather model. Don\u2019t expect that students will discover the full precipitation rule. However, students should discover that the front runs up from the southwestern corner through Bethel and Anchorage with one air mass coming down from the northwest and the other up from the south and southwest. They may discover that generally, precipitation occurs along the front if there is a difference in temperature between the two air masses, and tends to form on the warmer side of the front. Although not always true, students will also see that precipitation forms other places than at the front. If the air masses are quite dry they may not produce precipitation. On the other hand, the warmer the air, the more moisture it can hold before precipitation appears. Very warm air can hold a lot of moisture producing a humid day without any rain.\\n\\nIf students are having trouble making rain, have them try a more systematic approach where they vary just one slider a step at a time to see the effect on precipitation. Be sure they know they have to wait a little while to see the effect of a change as the settings only affect the entering wind. Refreshing the screen by pressing Setup is often helpful. The point of this exercise is to see how well students can react to data and test as many options as possible. How deep is their thinking?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "

    • Where is the front? Where is it raining? How do they compare?
    • How does the location of the precipitation on the radar map compare to the warm air mass, the cold air mass, and the front?
    • What is the air like where it is raining?

    ", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    How do air masses affect where it rains?

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208886-Embeddable::OpenResponse" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10265-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"After students have completed the questions on this page, project the model for the class, if possible. Ask students to discuss what they noticed about the model and what they learned from experimenting with it. The model is complex so there can be many viewpoints. The objective of this is to have students feel that they can learn from the model themselves. All observations are valid and up for discussion.\\n\\nPossible topics for discussion:\\n* It may be most valuable to discuss the questions student's answered on this page. An extended discussion could come from the question below.\\n\\n* What do the sizes and colors of the wind arrowheads mean? (The redder the warmer; the bluer the cooler; the larger the more moist; and the smaller the drier.)\\n\\n* Does precipitation fall only near the front? (No, it can fall where the arrowheads converge or come closer together.)\\n\\n* If the south settings and the west setting are the same, is there a front? (No, but the air may still converge.)\\n\\n* Do you see precipitation even where there is no front? What is a rule for it forming? (This is a little hard to figure out. By setting a high moisture level and then scanning through the temperatures, students can see that there are some intermediate temperatures that produce a lot of precipitation. At high temperatures, the air holds a lot of moisture; at low temperature the air holds little moisture.)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "content": "

    Go to page 25 in your Science Notebook and work with you research team to make a prediction for where you think it could rain at 7 am by drawing on the 7 am weather station map in your notebook.

    \r\n

    \r\n

    Alaska Stations: Interpolated at 7 am

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "147912-Embeddable::Xhtml" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10266-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video to learn how students will use the Lesson 5 Virtual Model to test and refine their rule for, \\\"How do air masses affect precipitation?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: How Do Air Masses Affect Precipitation?, 2020, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Explain why you think it could rain in the area you selected.

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208887-Embeddable::OpenResponse" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10267-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "aspect_ratio_method": "DEFAULT", - "authored_state": null, - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": "", - "is_full_width": true, - "is_hidden": false, - "model_library_url": null, - "name": "Lesson 5:Air Mass Model", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "show_in_featured_question_report": true, - "url": "https://models-resources.concord.org/precip-models/lesson-4-ak-v3.html", - "type": "MwInteractive", - "ref_id": "96961-MwInteractive", - "linked_interactives": [] - }, - "section": "interactive_box" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143693, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Quiz", - "position": 9, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148892-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Can be determined using tools such as a weather vane, flag, or windsock\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Described by using the direction that the wind came from\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Described by using the direction that the wind is going to\",\"correct\":false},{\"content\":\"d) Only A and B\",\"correct\":true,\"id\":\"de903f5f-840c-40c0-91db-73c33017a515\"},{\"content\":\"e) Only A and C\",\"correct\":false,\"id\":\"3852ac5d-832a-4558-a526-1729c4a02a20\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of \u201cwind direction\u201d?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Masses\\n\\nPossible discussion questions:\\n\\n* How do we identify air masses? (Responses should center on temperature, moisture and wind direction.)\\n\\n* What have you learned about the wind?\\n\\n* What questions do you still have?\\n\\n* Why do you think the wind is important in understanding the weather?\\n\\n• Are there any connections between the location of the air masses, fronts and precipitation? \\n\\n• Why do you think it is raining in some places and not others?\\n\\n**Teacher note:** Because air is invisible, students tend to have a lot of misconceptions about it. For example, the idea that air is a substance that can move is central to this lesson. It is easy to assume that students understand this concept when they may not. Asking probing questions can help bring their preconceptions to the forefront. The wind table will help students by giving them a concrete experience.\\n\\n###Describing the Front\\n\\n**Teacher note:** Student responses should be in terms of the actual movement of air and not just wind directions. The front is a particularly important area as students should identify it as a place where warm and cold air from the two air masses is coming together or mixing. Students will need a solid understanding of this concept as it will be revisited in the next lesson when they look at how fronts move over a region. \\n\\n###What is Happening at the Front\\n\\n**Teacher Note:** Students will likely notice that there is precipitation outside the area of the front and there are areas along the front that don’t show precipitation. Make note of these discrepancies and remind them that, as we have seen before, we may not have all of the information to explain everything that we see. Some of their observations will be addressed in Lesson 5.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10264-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143604, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding (cont.)", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    You have made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am. The radar image shows where it was actually raining at 7 am.

    \n

    \n

    Radar Image for 7 am

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147913-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2027-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A body of air with similar temperatures and air moisture content\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Where the weather begins\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) An air mass that is very dry with calm weather.\",\"correct\":false},{\"content\":\"d) The area between two colliding air masses of different temperatures that result in a change in weather.\",\"correct\":true,\"id\":\"9c06c9a6-3906-4afb-bdb1-066b8d22ad43\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is the definition of the word \u201cfront\u201d?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    How accurate was your prediction?

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208888-Embeddable::OpenResponse" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2029-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A measurement of the weight of the air.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) A body of air with similar temperatures and air moisture content.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) A piece of equipment that shows the direction the air is moving.\",\"correct\":false},{\"content\":\"d) The line between two fronts where the wind changes direction.\",\"correct\":false,\"id\":\"adf51964-b089-4d02-92c4-8ba5ddd87113\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhat is an air mass?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Look back at your original rule for the question, “How do air masses affect where it rains?” Using what you learned with the 7 am data, revise your rule.

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208889-Embeddable::OpenResponse" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143605, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Air masses and precipitation", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    When you feel the wind blow on your face, you are feeling air from another place. Sometimes it feels cold; sometimes it feels warm. The wind is what moves air. Weather scientists use wind direction to distinguish multiple air masses. What happens at the boundary of those two air masses? You will explore that question using a new Virtual Model.  

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147914-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2030-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Compass rose and degree directions always tell where the wind is coming from.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Arrows always point where the wind is going.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Compass rose and degree directions always tell where the wind is going.\",\"correct\":false},{\"content\":\"d) Arrows always point where the wind is coming from.\",\"correct\":false,\"id\":\"4dcfa49c-9d65-44c8-ba59-30ad0232f898\"},{\"content\":\"e) Both A and B\",\"correct\":true,\"id\":\"cf4fa7b4-5048-40c0-acbe-478fffa79243\"},{\"content\":\"f) Both C and D\",\"correct\":false,\"id\":\"1dcfe310-0d3d-4879-bf47-0158c1310a6a\"},{\"content\":\"g) Both B and C\",\"correct\":false,\"id\":\"7ddeb9e9-b680-4974-8ed5-fc7aaeea1846\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EHow do meteorologists talk about the wind direction?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "content": "

    This model shows wind as moving arrowheads and precipitation as green circles. There are two air masses. Identify where the front is. 

    \r\n

    Then, by trying different settings of the temperature and moisture, see if you can make up a rule for what conditions produce precipitation along the front, and on which side of the front the precipitation will occur. 

    \r\n

    Start by pressing Setup and Run. As you change temperatures and moisture settings you may want to press Setup occasionally to start fresh. Be sure to discuss what you find with your research team.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147915-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Describe the position of the front, and explain how you know this.

    \r\n

    You may use city names as landmarks.

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208890-Embeddable::OpenResponse" + }, + "section": null + }, + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "

    • Look at the temperature values for Air Mass 1 and Air Mass 2
    • Look at the moisture values for Air Mass 1 and Air Mass 2

    ", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    What are the conditions in the model that result in precipitation happening along a front?

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208891-Embeddable::OpenResponse" + }, + "section": null + }, + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "

    • Is the precipitation happening more on the colder side of the front?
    • Is the precipitation happening more on the warmer side of the front?

    ", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Describe specifically where the precipitation happens within the front.

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208892-Embeddable::OpenResponse" + }, + "section": null + }, + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "

    Make sure to use precise language and include both temperature and moisture values.

    ", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Finalize your rule statement for “How do air masses affect where it rains?”

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208893-Embeddable::OpenResponse" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 3 - How Do Air Masses Affect Precipitation? Virtual Model\\n\\n**Objective:** To build students’ rule refinement skills by experimenting with a model to figure out its built-in weather rules. In this model, precipitation falls under a variety of conditions that can be set by changing temperatures and moisture for two air masses. \\n\\nStudents can vary the temperature and moisture of two air masses in order to better understand how interacting air masses create patterns of rain at a front. Through this process, students will come up with an even more robust rule for predicting rain that involves interacting air masses. The specific computational thinking practice highlighted and practiced in this activity is **Rule Refinement**.\\n\\n**1. Class discussion about air mass properties.**Use the Alaska Weather Stations: 7am Interpolated map! [](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg) to remind students of the properties of the air masses in their regional weather system. See Discussion Points below for possible prompts. \\n\\n**2. Set up the model challenge.** \\n\\n* Have students recall the rule they developed to answer the question “How do air masses affect where it rains?” \\n\\n* Students will use the Lesson 5 virtual model to help refine their rule.\\n\\n**3. Exploring the Virtual Model.** \\n\\nIntroduce the task, and give students time to explore the model. Then let them tell you what they discovered. They may notice:\\n\\n * The properties of the incoming air can be changed using the sliders on the left and bottom.\\n\\n * The direction of the wind can be seen with arrows and trails that can be turned on or off.\\n\\n * Precipitation appears as green circles with bigger circles meaning heavier rain.\\n\\n * Color of arrows correspond to temperature (Red = Warm, Blue = Cold, Purple = In Between)\\n\\n * Size of arrows correspond to air moisture (Small = dry, Large = moist or humid)\\n\\nYou may want to point out that\\n\\n * Even though the air in the model moves, the model shows airflow for a certain time. Time does not change.\\n\\n**4. Experiment with the Model to find the Rule**\\n\\nTell students that this model has a built-in rule for precipitation made by the model’s programmer. Students’ challenge is to discover the rule by experimenting with the model. \\n\\n * Students may find it helpful to express their experiments comparing warmer or colder temperatures and moister or drier moisture values instead of specific temperatures or air moisture values.\\n\\n * Give students time to play with the model and record their understanding of the model rule design in the questions that follow.\\n\\nNOTE: This is a fairly sophisticated weather model. Don’t expect that students will discover the full precipitation rule. However, students should discover that the front runs up from the southwestern corner through Bethel and Anchorage with one air mass coming down from the northwest and the other up from the south and southwest. They may discover that generally, precipitation occurs along the front if there is a difference in temperature between the two air masses, and tends to form on the warmer side of the front. Although not always true, students will also see that precipitation forms other places than at the front. If the air masses are quite dry they may not produce precipitation. On the other hand, the warmer the air, the more moisture it can hold before precipitation appears. Very warm air can hold a lot of moisture producing a humid day without any rain.\\n\\nIf students are having trouble making rain, have them try a more systematic approach where they vary just one slider a step at a time to see the effect on precipitation. Be sure they know they have to wait a little while to see the effect of a change as the settings only affect the entering wind. Refreshing the screen by pressing Setup is often helpful. The point of this exercise is to see how well students can react to data and test as many options as possible. How deep is their thinking?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10265-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"After students have completed the questions on this page, project the model for the class, if possible. Ask students to discuss what they noticed about the model and what they learned from experimenting with it. The model is complex so there can be many viewpoints. The objective of this is to have students feel that they can learn from the model themselves. All observations are valid and up for discussion.\\n\\nPossible topics for discussion:\\n* It may be most valuable to discuss the questions student's answered on this page. An extended discussion could come from the question below.\\n\\n* What do the sizes and colors of the wind arrowheads mean? (The redder the warmer; the bluer the cooler; the larger the more moist; and the smaller the drier.)\\n\\n* Does precipitation fall only near the front? (No, it can fall where the arrowheads converge or come closer together.)\\n\\n* If the south settings and the west setting are the same, is there a front? (No, but the air may still converge.)\\n\\n* Do you see precipitation even where there is no front? What is a rule for it forming? (This is a little hard to figure out. By setting a high moisture level and then scanning through the temperatures, students can see that there are some intermediate temperatures that produce a lot of precipitation. At high temperatures, the air holds a lot of moisture; at low temperature the air holds little moisture.)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10266-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video to learn how students will use the Lesson 5 Virtual Model to test and refine their rule for, \\\"How do air masses affect precipitation?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: How Do Air Masses Affect Precipitation?, 2020, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10267-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2031-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) The colder drier air mass\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The colder wetter air mass\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The warmer wetter air mass\",\"correct\":true},{\"content\":\"d) The warmer drier air mass\",\"correct\":false,\"id\":\"cfed3538-0de4-4b54-8414-57afc6d5a849\"}],\"enableCheckAnswer\":true,\"prompt\":\"\u003Cp\u003EWhen a front forms with the right conditions for precipitation, which air mass does the precipitation fall in?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { + { + "embeddable": { "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "authored_state": null, "click_to_play": false, "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, + "enable_learner_state": false, "full_window": false, "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Lesson 5:Air Mass Model", "native_height": 435, "native_width": 576, "no_snapshots": false, "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/lesson-4-ak-v3.html", + "type": "MwInteractive", + "ref_id": "96961-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143693, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148892-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Can be determined using tools such as a weather vane, flag, or windsock\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Described by using the direction that the wind came from\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Described by using the direction that the wind is going to\",\"correct\":false},{\"content\":\"d) Only A and B\",\"correct\":true,\"id\":\"de903f5f-840c-40c0-91db-73c33017a515\"},{\"content\":\"e) Only A and C\",\"correct\":false,\"id\":\"3852ac5d-832a-4558-a526-1729c4a02a20\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of “wind direction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2027-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A body of air with similar temperatures and air moisture content\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Where the weather begins\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) An air mass that is very dry with calm weather.\",\"correct\":false},{\"content\":\"d) The area between two colliding air masses of different temperatures that result in a change in weather.\",\"correct\":true,\"id\":\"9c06c9a6-3906-4afb-bdb1-066b8d22ad43\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “front”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2029-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2032-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A measurement of the weight of the air.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) A body of air with similar temperatures and air moisture content.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) A piece of equipment that shows the direction the air is moving.\",\"correct\":false},{\"content\":\"d) The line between two fronts where the wind changes direction.\",\"correct\":false,\"id\":\"adf51964-b089-4d02-92c4-8ba5ddd87113\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is an air mass?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2030-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Compass rose and degree directions always tell where the wind is coming from.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Arrows always point where the wind is going.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Compass rose and degree directions always tell where the wind is going.\",\"correct\":false},{\"content\":\"d) Arrows always point where the wind is coming from.\",\"correct\":false,\"id\":\"4dcfa49c-9d65-44c8-ba59-30ad0232f898\"},{\"content\":\"e) Both A and B\",\"correct\":true,\"id\":\"cf4fa7b4-5048-40c0-acbe-478fffa79243\"},{\"content\":\"f) Both C and D\",\"correct\":false,\"id\":\"1dcfe310-0d3d-4879-bf47-0158c1310a6a\"},{\"content\":\"g) Both B and C\",\"correct\":false,\"id\":\"7ddeb9e9-b680-4974-8ed5-fc7aaeea1846\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do meteorologists talk about the wind direction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2031-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) The colder drier air mass\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The colder wetter air mass\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The warmer wetter air mass\",\"correct\":true},{\"content\":\"d) The warmer drier air mass\",\"correct\":false,\"id\":\"cfed3538-0de4-4b54-8414-57afc6d5a849\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    When a front forms with the right conditions for precipitation, which air mass does the precipitation fall in?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2032-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } } - }], + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json index 0c6e5d88..92a43abd 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json @@ -1,5 +1,5 @@ { - "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "description": "

    Modeling Fronts: How do fronts move?

    ", "editor_mode": 0, "layout": 0, "name": "Alaska 2021 - Lesson 6: Post-thoughts - What Do You Think?", @@ -13,236 +13,248 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143611, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EHow Do We Make An Accurate Model to Predict Weather?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe need to run the model longer. The longer you run a computer model the better the prediction will be.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThere\u0026rsquo;s no way to make a computer model that can predict the weather. Computer models aren\u0026rsquo;t the real world, so they can\u0026rsquo;t predict what will happen in the real world.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules and testing the model predictions using Alaska weather data. That way we\u0026rsquo;ll know the model works.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147922-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143611, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147922-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10282-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10282-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10283-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n\u2022\\t**Delana\u2019s response (computer models can\u2019t predict the weather)** suggests the perspective that if you can\u2019t predict something perfectly then your model really doesn\u2019t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, \u201cthey are just models, so they don\u2019t really tell us what\u2019s going to happen in the real world.\u201d \\n\\nStudents who choose Delana\u2019s response could use support in developing understanding that computer models don\u2019t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow\u2019s weather at all. Students who choose Delana\u2019s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be \u201cgood enough\u201d to serve a purpose.\\n\\n###Middle Level \\n\u2022\\t**Alex\u2019s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn\u2019t the problem. \\n\\nStudents who choose Alex\u2019s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n\u2022\\t**Kalin\u2019s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it\u2019s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn\u2019t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n\u2022\\t**Sage\u2019s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model\u2019s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one\u2019s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10283-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10284-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n•\\t**Delana’s response (computer models can’t predict the weather)** suggests the perspective that if you can’t predict something perfectly then your model really doesn’t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, “they are just models, so they don’t really tell us what’s going to happen in the real world.” \\n\\nStudents who choose Delana’s response could use support in developing understanding that computer models don’t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow’s weather at all. Students who choose Delana’s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be “good enough” to serve a purpose.\\n\\n###Middle Level \\n•\\t**Alex’s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn’t the problem. \\n\\nStudents who choose Alex’s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n•\\t**Kalin’s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it’s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn’t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n•\\t**Sage’s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model’s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one’s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10284-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1696-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1696-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1697-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1697-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] } - }], + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json index 0c78df5a..00152041 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json @@ -1,5 +1,5 @@ { - "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "description": "

    Modeling Fronts: How do fronts move?

    ", "editor_mode": 0, "layout": 0, "name": "Alaska 2021 - Lesson 6: Pre-thoughts - What Do You Think?", @@ -13,236 +13,248 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143610, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Page 1", - "position": 1, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EHow Do We Make An Accurate Model to Predict Weather?\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EMs. Tevuk\u0026rsquo;s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.\u003C/p\u003E\r\n\u003Cp\u003EHere are the students\u0026rsquo; ideas:\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EAlex\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EDelana\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe need to run the model longer. The longer you run a computer model the better the prediction will be.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png\" width=\"70\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EThere\u0026rsquo;s no way to make a computer model that can predict the weather. Computer models aren\u0026rsquo;t the real world, so they can\u0026rsquo;t predict what will happen in the real world.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003EKalin\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth colspan=\"2\"\u003E\u003Cstrong\u003ESage\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"10\" vspace=\"10\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\u003C/td\u003E\r\n\u003Ctd width=\"88\"\u003E\r\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png\" width=\"72\" height=\"90\" align=\"center\" hspace=\"8\" vspace=\"8\" /\u003E\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"padding: 10px;\" width=\"350\"\u003EWe should keep working on the rules and testing the model predictions using Alaska weather data. That way we\u0026rsquo;ll know the model works.\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147921-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143610, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147921-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10279-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10279-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10280-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students\u2019 ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n\u2022\\t**Delana\u2019s response (computer models can\u2019t predict the weather)** suggests the perspective that if you can\u2019t predict something perfectly then your model really doesn\u2019t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, \u201cthey are just models, so they don\u2019t really tell us what\u2019s going to happen in the real world.\u201d \\n\\nStudents who choose Delana\u2019s response could use support in developing understanding that computer models don\u2019t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow\u2019s weather at all. Students who choose Delana\u2019s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be \u201cgood enough\u201d to serve a purpose.\\n\\n###Middle Level \\n\u2022\\t**Alex\u2019s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn\u2019t the problem. \\n\\nStudents who choose Alex\u2019s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n\u2022\\t**Kalin\u2019s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it\u2019s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn\u2019t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n\u2022\\t**Sage\u2019s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model\u2019s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one\u2019s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10280-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10281-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n•\\t**Delana’s response (computer models can’t predict the weather)** suggests the perspective that if you can’t predict something perfectly then your model really doesn’t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, “they are just models, so they don’t really tell us what’s going to happen in the real world.” \\n\\nStudents who choose Delana’s response could use support in developing understanding that computer models don’t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow’s weather at all. Students who choose Delana’s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be “good enough” to serve a purpose.\\n\\n###Middle Level \\n•\\t**Alex’s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn’t the problem. \\n\\nStudents who choose Alex’s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n•\\t**Kalin’s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it’s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn’t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n•\\t**Sage’s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model’s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one’s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10281-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1694-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhy do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1694-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1695-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1695-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] } - }], + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6.json b/src/public/offline-activities/precipitating-change-v4/lesson-6.json index d8deb0af..d83568d1 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-6.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6.json @@ -1,5 +1,5 @@ { - "description": "\u003Cp\u003EModeling Fronts: How do fronts move?\u003C/p\u003E", + "description": "

    Modeling Fronts: How do fronts move?

    ", "editor_mode": 0, "layout": 0, "name": "Alaska 2021 - Lesson 6: Modeling Fronts", @@ -13,534 +13,569 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143691, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Real World Application", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how moving fronts impact the weather.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148016-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143691, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how moving fronts impact the weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148016-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1768-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143607, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Opening", - "position": 2, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EHow do fronts move?\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EOver the last couple of weeks, you have been exploring different aspects of regional data. You are now ready to begin to apply all of that knowledge to the unit challenge:\u0026nbsp;What will the\u0026nbsp;weather\u0026nbsp;be in Anchorage 24 hours from now?\u003C/p\u003E\n\u003Cp\u003EUse the resources from your past lessons to help inform your prediction. Go to page 28 in your Science Notebooks to review the Lesson 1, Weather Radar Maps for the Alaskan Region, to help you.\u003C/p\u003E\n\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png\" width=\"303\" height=\"231\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png\" width=\"297\" height=\"230\" /\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png\" width=\"303\" height=\"231\" /\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147917-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 6: MODELING FRONTS\\n**HOW DO FRONTS MOVE?**\\n\\nIn this lesson, students identify the location, direction, and rate of movement of the front. When warm and cold air masses collide, a front forms resulting in a change in weather. Fronts move across regions causing the local weather to change, sometimes suddenly. Scientists use models to predict changes in weather using the properties (temperature and moisture) of the air masses and their movement patterns. In this lesson, the focus shifts to how students can use the data to solve a problem and less on learning about the components of weather (as they did in Lessons 1 - 5). The understandings developed in this lesson support students in developing their predictions for the unit challenge in Lesson 7. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Understand that air masses are constantly moving and their characteristics (temperature and moisture) change\\n\\n* Identify evidence of a front moving through a given location \\n\\n* Analyze the speed and direction of a front moving over a region from given data\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1768-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143607, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How do fronts move?

    \n

    Over the last couple of weeks, you have been exploring different aspects of regional data. You are now ready to begin to apply all of that knowledge to the unit challenge: What will the weather be in Anchorage 24 hours from now?

    \n

    Use the resources from your past lessons to help inform your prediction. Go to page 28 in your Science Notebooks to review the Lesson 1, Weather Radar Maps for the Alaskan Region, to help you.

    \n

    \n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147917-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10269-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (1 hour and 30 minutes)\\n\\n**KEY ACTIVITIES:**\\nPre-Assessment: Lesson 6: What Do You Think? (10 mins)\\nActivity 1 - Where is the Front Going? (35 mins)\\n\\nActivity 2 - How Fast is the Front Moving? (45 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - Where is the Front Going?\\n\\nPer Research Team:\\n\\n* Tablet/laptop\\n\\n* Science Notebook\\n \\n * Front Visualizations at 11 am, 9 pm, and 7 am\\n\\n* Alaska Map Transparency\\n\\n* Straight edge (ruler)\\n\\n* Wet erase markers\\n\\n* Paper towels (for erasing)\\n\\nPer Class:\\n\\n* Water (for students to erase on their transparencies, if needed)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 6: MODELING FRONTS\\n**HOW DO FRONTS MOVE?**\\n\\nIn this lesson, students identify the location, direction, and rate of movement of the front. When warm and cold air masses collide, a front forms resulting in a change in weather. Fronts move across regions causing the local weather to change, sometimes suddenly. Scientists use models to predict changes in weather using the properties (temperature and moisture) of the air masses and their movement patterns. In this lesson, the focus shifts to how students can use the data to solve a problem and less on learning about the components of weather (as they did in Lessons 1 - 5). The understandings developed in this lesson support students in developing their predictions for the unit challenge in Lesson 7. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Understand that air masses are constantly moving and their characteristics (temperature and moisture) change\\n\\n* Identify evidence of a front moving through a given location \\n\\n* Analyze the speed and direction of a front moving over a region from given data\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10269-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10270-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 6.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson6_88.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (1 hour and 30 minutes)\\n\\n**KEY ACTIVITIES:**\\nPre-Assessment: Lesson 6: What Do You Think? (10 mins)\\nActivity 1 - Where is the Front Going? (35 mins)\\n\\nActivity 2 - How Fast is the Front Moving? (45 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - Where is the Front Going?\\n\\nPer Research Team:\\n\\n* Tablet/laptop\\n\\n* Science Notebook\\n \\n * Front Visualizations at 11 am, 9 pm, and 7 am\\n\\n* Alaska Map Transparency\\n\\n* Straight edge (ruler)\\n\\n* Wet erase markers\\n\\n* Paper towels (for erasing)\\n\\nPer Class:\\n\\n* Water (for students to erase on their transparencies, if needed)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10270-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10271-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143608, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Where is the front going?", - "position": 3, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWatch the \"Lesson 6: Modeling Fronts\" video as a class and think about the question, \"Where is the\u0026nbsp;front\u0026nbsp;going?\" and \u0026ldquo;What do we need to know about the\u0026nbsp;front\u0026nbsp;to predict where it will be in the future?\u0026rdquo;\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003EUsing all the resources you have available to you, including your computational thinking skills, datasets, and the Virtual Model images showing the following time steps (11 am, 9 pm, and 7am), work with your research team to answer the question, \"In what direction is your front moving?\"\u003C/p\u003E\n\u003Cp\u003E\u003Cimg class=\"\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg\" alt=\"\" width=\"743\" height=\"278\" /\u003E\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147918-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EIn what direction is your front moving? Be as specific as you can.\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208894-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EHow do you know the front is moving in that direction?\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208895-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 1 - Where is the Front Going?\\n\\nThe focus of this activity is to provide students an opportunity to decompose a smaller challenge before they revisit the unit challenge in Lesson 7. In this activity, students use front visualizations from 11 am, 9 pm, and 7 am to see where the air masses are colliding (i.e., the front) at different times and to track the direction of the front. The specific computational thinking skills highlighted and practiced in this activity are **Decomposition**, **Pattern Recognition**, and **Model Evaluation**.\\n\\n###Activity Breakdown\\n\\n1.Play the Lesson 6 Virtual Model tutorial.\\n\\n2.Research teams use the Front Visualizations in their Science Notebooks and the Alaska Map Transparency to describe the direction the front is moving.\\n\\n3.In the student online activity, teams summarize their findings for the direction the front is moving within the region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 6.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson6_88.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10271-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143608, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Where is the front going?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch the \"Lesson 6: Modeling Fronts\" video as a class and think about the question, \"Where is the front going?\" and “What do we need to know about the front to predict where it will be in the future?” 

    \n

    Using all the resources you have available to you, including your computational thinking skills, datasets, and the Virtual Model images showing the following time steps (11 am, 9 pm, and 7am), work with your research team to answer the question, \"In what direction is your front moving?\"

    \n

    \"\"

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147918-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10272-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Where is the Front Going? Strategy Tips \\nThe intention of this task is to provide students with a more open-ended task than seen in Lessons 1 - 4 and to give them an opportunity to apply their CT skills before solving the unit challenge. It is important that students work independently. The goal is to see if students can decompose the mini front challenge on their own. Additionally, this shift in perspective gives the students agency in their own learning to identify which CT skills are key to addressing this question. Students should realize that they know how to identify a front from Lesson 4, and have data at their disposal that can help them figure out the location of the front is at different points in time. Ideally, they will decompose \u201chow the front moves\u201d into two components: direction (which way it is heading) and speed (distance/time). Please see a list of possible discussion prompts to guide students through this process:\\n\\n\\n* Remind students that they learned how to identify a front in the last lesson, and that fronts can be an indicator of complex weather. \\n\\n* Point out that the unit challenge is to make a decision on if they are to continue, cancel, or postpone the Native Youth Olympics (NYO Games) and explain to them that figuring out where this front will be in 24 hours can help improve their prediction.\\n\\n* Raise the question: What do we need to know about the front to predict where it will be in the future? \\n\\n* Ask the research teams to:\\n\\n * Think about the question and brainstorm their ideas as a group.\\n * Identify the computational thinking skills they think will help them address this challenge. \\n\\n * Identify what features in the Virtual Model would help them answer this question. \\n * Identify what data they have from Lessons 1 - 5 that would help them answer this question.\\n* Have research teams answer the online activity questions.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    In what direction is your front moving? Be as specific as you can.

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208894-Embeddable::OpenResponse" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10273-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Show this video to your students before directing them to page 29 in their Science Notebooks and have students answer the question, \\\"Where is the front going?\\\" Students will then use the transparency and the Virtual Model maps of the front from 11 am, 9 pm, and 7 am on pages 30-32 to determine how fast the front is moving. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials - Modeling Fronts.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson6WhereistheFrontGoing.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    How do you know the front is moving in that direction?

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208895-Embeddable::OpenResponse" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10274-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143609, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "How fast is the front moving?", - "position": 4, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003ENow that you and your research team have figured out which way the\u0026nbsp;front\u0026nbsp;is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it\u0026rsquo;s going to pass through there. Where the\u0026nbsp;front\u0026nbsp;is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the\u0026nbsp;weather.\u003C/p\u003E\n\u003Cp\u003ETo best predict where the\u0026nbsp;front\u0026nbsp;will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance over time). Once you know both speed and direction (from Activity 1) of the\u0026nbsp;front, your\u0026nbsp;weather\u0026nbsp;analysis will help you answer the question \u0026ldquo;How fast is the\u0026nbsp;front\u0026nbsp;moving?\u0026rdquo;\u003C/p\u003E\n\u003Cp\u003EYou will have the following tools to help you:\u003C/p\u003E\n\u003Cp\u003E\u0026bull; Your\u0026nbsp;front images from the Virtual Model\u003Cbr /\u003E\u0026bull; A regional map transparency\u003Cbr /\u003E\u0026bull; Rulers and pens\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147919-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "content": "\u003Cp\u003EUsing the available materials, develop a strategy for calculating the rate of the\u0026nbsp;front. Remember that speed equals distance an object moves divided by the time it takes the object to move to its new location.\u003C/p\u003E\r\n\u003Cp style=\"padding-left: 30px;\"\u003E\u003Cstrong\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Speed = Distance/Time\u003C/strong\u003E\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK ", - "type": "Embeddable::Xhtml", - "ref_id": "147920-Embeddable::Xhtml" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "\u003Cp\u003E\u0026bull; Your answer should be a rate or speed.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Speed is a measurement of distance over time.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Distance can be measured in units of kilometers, miles, etc.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Time can be measured in hours, days, etc.\u003C/p\u003E", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EHow fast is the\u0026nbsp;front\u0026nbsp;moving? Be as specific as you can.\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208896-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "\u003Cp\u003E\u0026bull; Explain your strategy.\u003C/p\u003E\r\n\u003Cp\u003E\u0026bull; Talk about what you did to come up with your answer.\u003C/p\u003E", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EDescribe how your team figured out how fast the\u0026nbsp;front\u0026nbsp;is moving.\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208897-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - How Fast is the Front Moving?\\n\\nThe focus of this activity is for students to analyze the visualization data they generated in Activity 1 and to develop a statement defining the speed of the front moving across the region. The activity ends with research teams developing a description of how fast the front is moving and recording it in the student online activity. The specific computational thinking practice highlighted and practiced in this activity is **Pattern Recognition**.\\n\\n\u003Cbr\u003E**1. Calculate the speed the front is moving.**\\n\\n* Pass out to the research teams their Science Notebooks with the front visualizations, Regional Map Transparency, wet erase markers, paper towels, and rulers. \\n\\n* Students may also want to use the [L1A2: Alaska Weather Station Data Sheet](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1A2_WeatherStationDataAK.png) and the [L4A1: Alaska Additional Weather Stations handouts](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4A1_AdditionalWeatherStationsDataSheet_AK.png). \\n\\n* The primary challenge for students will be deciding where on the front to use as a reference point when measuring the distance that it moves from timestamp to timestamp. Here are some possible suggestions to help the students with this:\\n\\n * Use a ruler to draw a straight line that approximates the middle of the front.\\n\\n * If the front is curved, choose an area that is generally straight.\\n\\n * Encourage students to be consistent, i.e., choose the same reference point every time.\\n\\n**2. Create an analysis statement.** Students use their tools to analyze the movement of the front and develop an analysis statement that summarizes the front movement. They record their statement in the student online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 1 - Where is the Front Going?\\n\\nThe focus of this activity is to provide students an opportunity to decompose a smaller challenge before they revisit the unit challenge in Lesson 7. In this activity, students use front visualizations from 11 am, 9 pm, and 7 am to see where the air masses are colliding (i.e., the front) at different times and to track the direction of the front. The specific computational thinking skills highlighted and practiced in this activity are **Decomposition**, **Pattern Recognition**, and **Model Evaluation**.\\n\\n###Activity Breakdown\\n\\n1.Play the Lesson 6 Virtual Model tutorial.\\n\\n2.Research teams use the Front Visualizations in their Science Notebooks and the Alaska Map Transparency to describe the direction the front is moving.\\n\\n3.In the student online activity, teams summarize their findings for the direction the front is moving within the region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10272-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10275-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"The key to this activity is for students to mark up the Regional Map Transparency with the location of the front at each of the time steps that were captured in the visualizations. Once all the time steps are captured on one map (via a transparency marker), students can calculate the speed by measuring the distance between each location of the front and taking an average. Once they have an average distance the front moves and the amount of time between each front line, they can plug their number into a standard speed formula.\\n\\n\u003Cbr\u003EPlease see an example below of a final statement students will make after completing this activity:\u003Cbr\u003E\u003Cbr\u003E\\n**The front is moving from X to Y at a speed of Z.**\u003Cbr\u003E\u003Cbr\u003E\\n\\n\\n\\nStudents can use whatever terms make sense to them. For example, X can stand for \u201cleft,\\\" \u201cupper left,\\\" or \u201cNorthwest.\\\" Speed can be in recorded in squares per hour, squares per every two hours, kilometers per hour, etc.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Where is the Front Going? Strategy Tips \\nThe intention of this task is to provide students with a more open-ended task than seen in Lessons 1 - 4 and to give them an opportunity to apply their CT skills before solving the unit challenge. It is important that students work independently. The goal is to see if students can decompose the mini front challenge on their own. Additionally, this shift in perspective gives the students agency in their own learning to identify which CT skills are key to addressing this question. Students should realize that they know how to identify a front from Lesson 4, and have data at their disposal that can help them figure out the location of the front is at different points in time. Ideally, they will decompose “how the front moves” into two components: direction (which way it is heading) and speed (distance/time). Please see a list of possible discussion prompts to guide students through this process:\\n\\n\\n* Remind students that they learned how to identify a front in the last lesson, and that fronts can be an indicator of complex weather. \\n\\n* Point out that the unit challenge is to make a decision on if they are to continue, cancel, or postpone the Native Youth Olympics (NYO Games) and explain to them that figuring out where this front will be in 24 hours can help improve their prediction.\\n\\n* Raise the question: What do we need to know about the front to predict where it will be in the future? \\n\\n* Ask the research teams to:\\n\\n * Think about the question and brainstorm their ideas as a group.\\n * Identify the computational thinking skills they think will help them address this challenge. \\n\\n * Identify what features in the Virtual Model would help them answer this question. \\n * Identify what data they have from Lessons 1 - 5 that would help them answer this question.\\n* Have research teams answer the online activity questions.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10273-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10276-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a higher resolution and requires a higher bandwidth to download. Please use the lower resolution/lower bandwidth video option below if you have trouble downloading this video.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/alaska-pilot-final.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Show this video to your students before directing them to page 29 in their Science Notebooks and have students answer the question, \\\"Where is the front going?\\\" Students will then use the transparency and the Virtual Model maps of the front from 11 am, 9 pm, and 7 am on pages 30-32 to determine how fast the front is moving. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials - Modeling Fronts.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson6WhereistheFrontGoing.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10274-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143609, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "How fast is the front moving?", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Now that you and your research team have figured out which way the front is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it’s going to pass through there. Where the front is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the weather.

    \n

    To best predict where the front will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance over time). Once you know both speed and direction (from Activity 1) of the front, your weather analysis will help you answer the question “How fast is the front moving?”

    \n

    You will have the following tools to help you:

    \n

    • Your front images from the Virtual Model
    • A regional map transparency
    • Rulers and pens

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147919-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10277-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a lower resolution and should be used if you have trouble downloading the higher resolution video above.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska-Pilot-Final-low-res.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "content": "

    Using the available materials, develop a strategy for calculating the rate of the front. Remember that speed equals distance an object moves divided by the time it takes the object to move to its new location.

    \r\n

                             Speed = Distance/Time

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147920-Embeddable::Xhtml" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10278-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143692, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Quiz", - "position": 5, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EPlease answer this quiz of things learned in this lesson.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148894-Embeddable::Xhtml" - }, - "section": "header_block" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "

    • Your answer should be a rate or speed.

    \r\n

    • Speed is a measurement of distance over time.

    \r\n

    • Distance can be measured in units of kilometers, miles, etc.

    \r\n

    • Time can be measured in hours, days, etc.

    ", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    How fast is the front moving? Be as specific as you can.

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208896-Embeddable::OpenResponse" + }, + "section": null + }, + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "

    • Explain your strategy.

    \r\n

    • Talk about what you did to come up with your answer.

    ", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Describe how your team figured out how fast the front is moving.

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208897-Embeddable::OpenResponse" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - How Fast is the Front Moving?\\n\\nThe focus of this activity is for students to analyze the visualization data they generated in Activity 1 and to develop a statement defining the speed of the front moving across the region. The activity ends with research teams developing a description of how fast the front is moving and recording it in the student online activity. The specific computational thinking practice highlighted and practiced in this activity is **Pattern Recognition**.\\n\\n
    **1. Calculate the speed the front is moving.**\\n\\n* Pass out to the research teams their Science Notebooks with the front visualizations, Regional Map Transparency, wet erase markers, paper towels, and rulers. \\n\\n* Students may also want to use the [L1A2: Alaska Weather Station Data Sheet](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1A2_WeatherStationDataAK.png) and the [L4A1: Alaska Additional Weather Stations handouts](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4A1_AdditionalWeatherStationsDataSheet_AK.png). \\n\\n* The primary challenge for students will be deciding where on the front to use as a reference point when measuring the distance that it moves from timestamp to timestamp. Here are some possible suggestions to help the students with this:\\n\\n * Use a ruler to draw a straight line that approximates the middle of the front.\\n\\n * If the front is curved, choose an area that is generally straight.\\n\\n * Encourage students to be consistent, i.e., choose the same reference point every time.\\n\\n**2. Create an analysis statement.** Students use their tools to analyze the movement of the front and develop an analysis statement that summarizes the front movement. They record their statement in the student online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10275-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"The key to this activity is for students to mark up the Regional Map Transparency with the location of the front at each of the time steps that were captured in the visualizations. Once all the time steps are captured on one map (via a transparency marker), students can calculate the speed by measuring the distance between each location of the front and taking an average. Once they have an average distance the front moves and the amount of time between each front line, they can plug their number into a standard speed formula.\\n\\n
    Please see an example below of a final statement students will make after completing this activity:

    \\n**The front is moving from X to Y at a speed of Z.**

    \\n\\n\\n\\nStudents can use whatever terms make sense to them. For example, X can stand for “left,\\\" “upper left,\\\" or “Northwest.\\\" Speed can be in recorded in squares per hour, squares per every two hours, kilometers per hour, etc.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10276-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a higher resolution and requires a higher bandwidth to download. Please use the lower resolution/lower bandwidth video option below if you have trouble downloading this video.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/alaska-pilot-final.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10277-Embeddable::EmbeddablePlugin" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a lower resolution and should be used if you have trouble downloading the higher resolution video above.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska-Pilot-Final-low-res.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10278-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143692, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148894-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } } - }], + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-7.json b/src/public/offline-activities/precipitating-change-v4/lesson-7.json index 61b23181..1ce40315 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-7.json @@ -1,5 +1,5 @@ { - "description": "\u003Cp\u003EAnalyzing Data and Making a Prediction: What will the weather be like 24 hours from now?\u003C/p\u003E", + "description": "

    Analyzing Data and Making a Prediction: What will the weather be like 24 hours from now?

    ", "editor_mode": 0, "layout": 0, "name": "Alaska 2021 - Lesson 7: Analyzing Data and Making a Prediction", @@ -13,972 +13,1022 @@ "time_to_complete": null, "version": 1, "theme_name": "Precipitating Change", - "pages": [{ - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143696, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Real World Application", - "position": 1, - "show_header": true, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EWatch this video featuring\u0026nbsp;Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how\u0026nbsp;to make predictions for upcoming weather patterns.\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148017-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Video Player", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143696, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how to make predictions for upcoming weather patterns.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148017-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1769-ManagedInteractive", - "linked_interactives": [] - }, - "section": "header_block" - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143612, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Opening", - "position": 2, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EYou have been planning the Alaskan Native Youth Olympics (NYO Games) for April 23rd at 7:00 am. This event has been planned for months and the committee is expecting over 500 people to attend. One of your jobs on this committee is to watch the\u0026nbsp;weather\u0026nbsp;and determine if the event is safe to proceed as\u0026nbsp;planned, or if it should be\u0026nbsp;postponed\u0026nbsp;or\u0026nbsp;even canceled.\u003C/p\u003E\n\u003Cp\u003EIt\u0026rsquo;s time to put your computational thinking skills to work!\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147923-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 7: ANALYZING DATA AND MAKING A PREDICTION\\n\\n**What will the local weather be 24 hours from now?**\\n\\nIn this lesson, students revisit the unit challenge and the original question posted to them in Lesson 1, \\\"Should the NYO Games proceed as planned, be postponed or canceled?\\\" Students assume the role of weather forecasters and make a weather prediction for Anchorage on April 23 at 7 am using regional data and models they have been exploring throughout this unit. This lesson is the unit\u2019s capstone experience. \\n\\n\u003Cbr\u003E**LEARNING GOALS:**\\n\\nStudents will be able to:\\n\\n* Articulate how data is visualized from a historic weather event (i.e., temperature, precipitation, wind speed, and wind direction)\\n\\n* Analyze data from a historical weather dataset and provide a description/explanation of the weather event\\n\\n* Make a prediction of future weather using data and reasoning to support their claim\\n\\n* Apply the CT skills they have developed in their analysis of the weather event\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1769-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143612, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    You have been planning the Alaskan Native Youth Olympics (NYO Games) for April 23rd at 7:00 am. This event has been planned for months and the committee is expecting over 500 people to attend. One of your jobs on this committee is to watch the weather and determine if the event is safe to proceed as planned, or if it should be postponed or even canceled.

    \n

    It’s time to put your computational thinking skills to work!

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147923-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10285-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 3 class periods (135 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\nActivity 1 - Reflecting on the Unit (45 mins)\\n\\nActivity 2 - Research Teams in Action(120 mins)\\n\\nConclusion (15 mins)\\n\\n\\n\u003Cbr\u003E**MATERIALS AND SET-UP:**\\n\\nActivity 2 - Research Teams in Action\\n\\n* Student Presentation Template in [Keynote](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key), [Google](https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing/?target=_blank), or [Powerpoint](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx)\\n\\n* Actual weather in Anchorage on day of event: Moderate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain.\\n\\nTemperature: 43\u00b0F/6.1\u00b0C\\nWind: 280\u00b0\\nPrecipitation: none\\n\\n* [Virtual Model](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) to display where the front will be at the time of the NYO games. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"!Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 7: ANALYZING DATA AND MAKING A PREDICTION\\n\\n**What will the local weather be 24 hours from now?**\\n\\nIn this lesson, students revisit the unit challenge and the original question posted to them in Lesson 1, \\\"Should the NYO Games proceed as planned, be postponed or canceled?\\\" Students assume the role of weather forecasters and make a weather prediction for Anchorage on April 23 at 7 am using regional data and models they have been exploring throughout this unit. This lesson is the unit’s capstone experience. \\n\\n
    **LEARNING GOALS:**\\n\\nStudents will be able to:\\n\\n* Articulate how data is visualized from a historic weather event (i.e., temperature, precipitation, wind speed, and wind direction)\\n\\n* Analyze data from a historical weather dataset and provide a description/explanation of the weather event\\n\\n* Make a prediction of future weather using data and reasoning to support their claim\\n\\n* Apply the CT skills they have developed in their analysis of the weather event\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10285-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10286-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a lower resolution and requires a lower bandwidth and should be used if you have difficulty downloading the higher resolution/higher bandwidth option. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 3 class periods (135 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\nActivity 1 - Reflecting on the Unit (45 mins)\\n\\nActivity 2 - Research Teams in Action(120 mins)\\n\\nConclusion (15 mins)\\n\\n\\n
    **MATERIALS AND SET-UP:**\\n\\nActivity 2 - Research Teams in Action\\n\\n* Student Presentation Template in [Keynote](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key), [Google](https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing/?target=_blank), or [Powerpoint](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx)\\n\\n* Actual weather in Anchorage on day of event: Moderate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain.\\n\\nTemperature: 43°F/6.1°C\\nWind: 280°\\nPrecipitation: none\\n\\n* [Virtual Model](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) to display where the front will be at the time of the NYO games. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"!Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10286-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10287-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a higher resolution and requires a higher bandwidth. If you have difficulty downloading this video use the lower bandwidth option.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/ConcordAlaska7Final-low.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a lower resolution and requires a lower bandwidth and should be used if you have difficulty downloading the higher resolution/higher bandwidth option. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10287-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10288-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143613, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Unit reflection", - "position": 3, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EThroughout the Precipitating Change, you have been developing some computational thinking skills that real weather scientist use. Although we have not named the skill until now, notice in the table below the skills you have used to help decide if the NYO Games should proceed.\u003C/p\u003E\r\n\u003Ctable cellpadding=\"30\"\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr bgcolor=\"#D3D3D3\"\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u003Cstrong\u003EDefinition\u003C/strong\u003E\u003C/th\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u0026nbsp;\u003C/th\u003E\r\n\u003Cth style=\"border: 1px solid black;\" colspan=\"1\"\u003E\u003Cstrong\u003EComputational Thinking Skill\u003C/strong\u003E\u003C/th\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EOrganizing a large amount of information (data) into smaller more manageable parts.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg\" width=\"235\" height=\"132\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp\u003E\u003Cstrong\u003EDecomposition\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EIn \u003Cstrong\u003ELesson 1, \u003C/strong\u003Eyou organized weather station data over a two-day period and radar maps of Alaska every 6 hours to make a prediction.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ERecognizing that data or information is repeating in a logical (expected) way.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png\" width=\"159\" height=\"181\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EPattern Recognition\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you ran the model to see temperature data and patterns of data moving across the map. Before and after each run of the model, you interpolated data. You discovered that warm and cold spots on the map are at times on certain sides, and also you saw these spots change location over time.\u003C/p\u003E\r\n\u003Cp\u003EIn\u003Cstrong\u003E Lesson 3 and 4\u003C/strong\u003E, you ran the models to develop a general statement to answer the question \"Where does it rain?\".\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EEstimating an unknown value based on surrounding information.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg class=\"\" src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg\" alt=\"\" width=\"206\" height=\"117\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EInterpolation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you made best guess estimates of the temperatures that were missing on the map.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EFollowing a pattern beyond the known data points.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg\" width=\"205\" height=\"116\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EExtrapolation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you predicted future weather based on patterns you observed in the changing temperatures you collected and visualized.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ECollecting and organizing data to better understand the topic.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg\" width=\"226\" height=\"127\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData Aggregation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you observed temperature data from a model and organized the data to see the \u0026ldquo;big picture\u0026rdquo;.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center; padding: 20px;\"\u003E\r\n\u003Ctd style=\"padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ESimplifying data to make it easier to interpret and find patterns.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg\" width=\"235\" height=\"132\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData Abstraction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 2\u003C/strong\u003E, you came up with a color scheme for temperature and changed how the data was represented from numbers to temperature categories, and then to colors.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EDeveloping a statement of how things work based on the patterns you observed.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png\" width=\"232\" height=\"143\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003ERule Abstraction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 3\u003C/strong\u003E, you made a generic statement to answer the question, \"Where does it rain?\".\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black; text-align: center;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003ELooking at the big picture by putting all the components together in the model to see if it works.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; text-align: center;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png\" width=\"240\" height=\"176\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EModel Evaluation\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 4 and 5\u003C/strong\u003E, you ran a model to determine whether a rule was still true in different situations.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EModifying a rule to be more precise (exact, careful about details) to work in the model.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png\" width=\"254\" height=\"188\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003ERule Refinement\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 4 and 5\u003C/strong\u003E, as you ran the model, you were able to test your rule statements and make changes based on the model.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003Ctr style=\"border: 1px solid black;\"\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: left;\"\u003EForecast based on evidence about a future event.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black;\" width=\"250\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png\" width=\"274\" height=\"143\" /\u003E\u003C/td\u003E\r\n\u003Ctd style=\"border: 1px solid black; padding: 20px;\" width=\"300\"\u003E\r\n\u003Cp style=\"text-align: center;\"\u003E\u003Cstrong\u003EData-based Prediction\u003C/strong\u003E\u003C/p\u003E\r\n\u003Cp style=\"text-align: center;\"\u003EIn \u003Cstrong\u003ELesson 6\u003C/strong\u003E, you selected data including temperature, air moisture and wind direction to help form a forecast about a future event.\u003C/p\u003E\r\n\u003C/td\u003E\r\n\u003C/tr\u003E\r\n\u003C/tbody\u003E\r\n\u003C/table\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147924-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": true, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhich skill was the easiest to use? Please explain why.\u003C/p\u003E\r\n\u003Cp\u003Ea)\u0026nbsp;\u0026nbsp; \u0026nbsp;Decomposition\u003C/p\u003E\r\n\u003Cp\u003Eb)\u0026nbsp;\u0026nbsp; Pattern Recognition\u003C/p\u003E\r\n\u003Cp\u003Ec)\u0026nbsp;\u0026nbsp; Interpolation\u003C/p\u003E\r\n\u003Cp\u003Ed)\u0026nbsp;\u0026nbsp; Extrapolation\u003C/p\u003E\r\n\u003Cp\u003Ee)\u0026nbsp;\u0026nbsp; Data Aggregation\u003C/p\u003E\r\n\u003Cp\u003Ef)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eg)\u0026nbsp;\u0026nbsp; Rule Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eh)\u0026nbsp;\u0026nbsp; Model Evaluation\u003C/p\u003E\r\n\u003Cp\u003Ei)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Rule Refinement\u003C/p\u003E\r\n\u003Cp\u003Ej)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data-based Prediction\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208898-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": true, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhich skill was the hardest to use? Please explain why?\u003C/p\u003E\r\n\u003Cp\u003Ea)\u0026nbsp;\u0026nbsp; Decomposition\u003C/p\u003E\r\n\u003Cp\u003Eb)\u0026nbsp;\u0026nbsp; Pattern Recognition\u003C/p\u003E\r\n\u003Cp\u003Ec)\u0026nbsp;\u0026nbsp; Interpolation\u003C/p\u003E\r\n\u003Cp\u003Ed)\u0026nbsp;\u0026nbsp; Extrapolation\u003C/p\u003E\r\n\u003Cp\u003Ee)\u0026nbsp;\u0026nbsp; Data Aggregation\u003C/p\u003E\r\n\u003Cp\u003Ef)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eg)\u0026nbsp;\u0026nbsp; Rule Abstraction\u003C/p\u003E\r\n\u003Cp\u003Eh)\u0026nbsp;\u0026nbsp; Model Evaluation\u003C/p\u003E\r\n\u003Cp\u003Ei)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Rule Refinement\u003C/p\u003E\r\n\u003Cp\u003Ej)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Data-based Prediction\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208899-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1 - Reflecting on the Unit\\n\\nThe focus of this activity is for students to reflect upon all the computational thinking skills they developed over the unit. The specific computational thinking skill highlighted and practiced in this lesson is **Data-based Prediction**.\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a higher resolution and requires a higher bandwidth. If you have difficulty downloading this video use the lower bandwidth option.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/ConcordAlaska7Final-low.mp4\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10288-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143613, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Throughout the Precipitating Change, you have been developing some computational thinking skills that real weather scientist use. Although we have not named the skill until now, notice in the table below the skills you have used to help decide if the NYO Games should proceed.

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    Definition Computational Thinking Skill
    \r\n

    Organizing a large amount of information (data) into smaller more manageable parts.

    \r\n
    \r\n

    Decomposition

    \r\n

    In Lesson 1, you organized weather station data over a two-day period and radar maps of Alaska every 6 hours to make a prediction.

    \r\n
    \r\n

    Recognizing that data or information is repeating in a logical (expected) way.

    \r\n
    \r\n

    Pattern Recognition

    \r\n

    In Lesson 2, you ran the model to see temperature data and patterns of data moving across the map. Before and after each run of the model, you interpolated data. You discovered that warm and cold spots on the map are at times on certain sides, and also you saw these spots change location over time.

    \r\n

    In Lesson 3 and 4, you ran the models to develop a general statement to answer the question \"Where does it rain?\".

    \r\n
    \r\n

    Estimating an unknown value based on surrounding information.

    \r\n
    \"\"\r\n

    Interpolation

    \r\n

    In Lesson 2, you made best guess estimates of the temperatures that were missing on the map.

    \r\n
    \r\n

    Following a pattern beyond the known data points.

    \r\n
    \r\n

    Extrapolation

    \r\n

    In Lesson 2, you predicted future weather based on patterns you observed in the changing temperatures you collected and visualized.

    \r\n
    \r\n

    Collecting and organizing data to better understand the topic.

    \r\n
    \r\n

    Data Aggregation

    \r\n

    In Lesson 2, you observed temperature data from a model and organized the data to see the “big picture”.

    \r\n
    \r\n

    Simplifying data to make it easier to interpret and find patterns.

    \r\n
    \r\n

    Data Abstraction

    \r\n

    In Lesson 2, you came up with a color scheme for temperature and changed how the data was represented from numbers to temperature categories, and then to colors.

    \r\n
    \r\n

    Developing a statement of how things work based on the patterns you observed.

    \r\n
    \r\n

    Rule Abstraction

    \r\n

    In Lesson 3, you made a generic statement to answer the question, \"Where does it rain?\".

    \r\n
    \r\n

    Looking at the big picture by putting all the components together in the model to see if it works.

    \r\n
    \r\n

    Model Evaluation

    \r\n

    In Lesson 4 and 5, you ran a model to determine whether a rule was still true in different situations.

    \r\n
    \r\n

    Modifying a rule to be more precise (exact, careful about details) to work in the model.

    \r\n
    \r\n

    Rule Refinement

    \r\n

    In Lesson 4 and 5, as you ran the model, you were able to test your rule statements and make changes based on the model.

    \r\n
    \r\n

    Forecast based on evidence about a future event.

    \r\n
    \r\n

    Data-based Prediction

    \r\n

    In Lesson 6, you selected data including temperature, air moisture and wind direction to help form a forecast about a future event.

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147924-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10289-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Synthesis Discussion\\n\\n* Introduce Data-based Prediction as the new CT skill used in this Lesson and discuss as a class using the prompts below: \\n\\n * How will you use this skill in this lesson?\\n\\n * How is your process for making your prediction different now in Lesson 7 than in Lesson 1?\\n\\n * Why do you think knowing this is important?\\n\\n* Review the Computational Thinking (CT) skills chart with your students and see if they can recall when they used the different skills throughout the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": true, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Which skill was the easiest to use? Please explain why.

    \r\n

    a)    Decomposition

    \r\n

    b)   Pattern Recognition

    \r\n

    c)   Interpolation

    \r\n

    d)   Extrapolation

    \r\n

    e)   Data Aggregation

    \r\n

    f)     Data Abstraction

    \r\n

    g)   Rule Abstraction

    \r\n

    h)   Model Evaluation

    \r\n

    i)     Rule Refinement

    \r\n

    j)     Data-based Prediction

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208898-Embeddable::OpenResponse" + }, + "section": null }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10290-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhich skill was the easiest to use? Please explain why.\u003C/p\u003E\\n\u003Cp\u003Ea) Decomposition\u003C/p\u003E\\n\u003Cp\u003Eb) Pattern Recognition\u003C/p\u003E\\n\u003Cp\u003Ec) Interpolation\u003C/p\u003E\\n\u003Cp\u003Ed) Extrapolation\u003C/p\u003E\\n\u003Cp\u003Ee) Data Aggregation\u003C/p\u003E\\n\u003Cp\u003Ef) Data Abstraction\u003C/p\u003E\\n\u003Cp\u003Eg) Rule Abstraction\u003C/p\u003E\\n\u003Cp\u003Eh) Model Evaluation\u003C/p\u003E\\n\u003Cp\u003Ei) Rule Refinement\u003C/p\u003E\\n\u003Cp\u003Ej) Data-based Prediction\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": true, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Which skill was the hardest to use? Please explain why?

    \r\n

    a)   Decomposition

    \r\n

    b)   Pattern Recognition

    \r\n

    c)   Interpolation

    \r\n

    d)   Extrapolation

    \r\n

    e)   Data Aggregation

    \r\n

    f)     Data Abstraction

    \r\n

    g)   Rule Abstraction

    \r\n

    h)   Model Evaluation

    \r\n

    i)     Rule Refinement

    \r\n

    j)     Data-based Prediction

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208899-Embeddable::OpenResponse" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1895-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EWhich skill was the hardest to use? Please explain why?\u003C/p\u003E\\n\u003Cp\u003Ea) Decomposition\u003C/p\u003E\\n\u003Cp\u003Eb) Pattern Recognition\u003C/p\u003E\\n\u003Cp\u003Ec) Interpolation\u003C/p\u003E\\n\u003Cp\u003Ed) Extrapolation\u003C/p\u003E\\n\u003Cp\u003Ee) Data Aggregation\u003C/p\u003E\\n\u003Cp\u003Ef) Data Abstraction\u003C/p\u003E\\n\u003Cp\u003Eg) Rule Abstraction\u003C/p\u003E\\n\u003Cp\u003Eh) Model Evaluation\u003C/p\u003E\\n\u003Cp\u003Ei) Rule Refinement\u003C/p\u003E\\n\u003Cp\u003Ej) Data-based Prediction\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1 - Reflecting on the Unit\\n\\nThe focus of this activity is for students to reflect upon all the computational thinking skills they developed over the unit. The specific computational thinking skill highlighted and practiced in this lesson is **Data-based Prediction**.\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10289-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1896-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143614, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Unit reflection (cont.)", - "position": 4, - "show_header": false, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003E\u003Cstrong\u003EYour Initial Prediction\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EAt the beginning of the unit you made a weather prediction.\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147925-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"\",\"teacherTip\":\"You may need to turn on Lesson 1 again if students don't remember what their prediction was on (page ?) in Lesson 1. \",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "questionWrapper", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Synthesis Discussion\\n\\n* Introduce Data-based Prediction as the new CT skill used in this Lesson and discuss as a class using the prompts below: \\n\\n * How will you use this skill in this lesson?\\n\\n * How is your process for making your prediction different now in Lesson 7 than in Lesson 1?\\n\\n * Why do you think knowing this is important?\\n\\n* Review the Computational Thinking (CT) skills chart with your students and see if they can recall when they used the different skills throughout the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": true, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10290-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10291-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"\u003Cp\u003EIn Lesson 1, Activity 2 - Making a Prediction, what did you predict the weather will be at 7:00 am in Anchorage on April 23?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Open Response", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Which skill was the easiest to use? Please explain why.

    \\n

    a) Decomposition

    \\n

    b) Pattern Recognition

    \\n

    c) Interpolation

    \\n

    d) Extrapolation

    \\n

    e) Data Aggregation

    \\n

    f) Data Abstraction

    \\n

    g) Rule Abstraction

    \\n

    h) Model Evaluation

    \\n

    i) Rule Refinement

    \\n

    j) Data-based Prediction

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1895-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "1897-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"a6d209ef-958d-474c-a8db-e1b73b84fde7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"2ffa3691-0e65-48b2-8466-b8528d8de2b5\"}],\"prompt\":\"\u003Cp\u003EHow confident were you of your prediction?\u003C/p\u003E\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Which skill was the hardest to use? Please explain why?

    \\n

    a) Decomposition

    \\n

    b) Pattern Recognition

    \\n

    c) Interpolation

    \\n

    d) Extrapolation

    \\n

    e) Data Aggregation

    \\n

    f) Data Abstraction

    \\n

    g) Rule Abstraction

    \\n

    h) Model Evaluation

    \\n

    i) Rule Refinement

    \\n

    j) Data-based Prediction

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1896-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143614, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection (cont.)", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Your Initial Prediction

    \n

    At the beginning of the unit you made a weather prediction.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147925-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "1898-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143615, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Research Teams in Action", - "position": 5, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EYour team will produce up to a two-minute weather forecast. You may use the template provided or you may develop your own. In addition, each team needs to write a script or outline that explains your forecast. Include in your forecast the following:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003ELocation of the front that you have been tracking\u003C/li\u003E\n\u003Cli\u003ETemperature\u003C/li\u003E\n\u003Cli\u003EPrecipitation\u003C/li\u003E\n\u003Cli\u003EWind Direction\u003C/li\u003E\n\u003Cli\u003EDecide to hold NYO or to cancel or postpone it due to bad weather preventing teams from flying into Anchorage\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003EYou can access the Student Presentation Template in \u003Ca href=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key\" target=\"_blank\" rel=\"noopener\"\u003EKeynote\u003C/a\u003E, \u003Ca href=\"https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing\" target=\"_blank\" rel=\"noopener\"\u003EGoogle\u003C/a\u003E, or \u003Ca href=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx\" target=\"_blank\" rel=\"noopener\"\u003EPowerpoint\u003C/a\u003E to prepare your forecast.\u003C/p\u003E\n\u003Cp\u003EYou have additional resources to help you:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EWeather\u0026nbsp;Station Data (temperature, moisture content, and\u0026nbsp;wind direction\u0026nbsp;from 10 stations for every 2 hours)\u003C/li\u003E\n\u003Cli\u003ERadar Images (shows\u0026nbsp;precipitation\u0026nbsp;in the region every 6 hours)\u003C/li\u003E\n\u003Cli\u003ERules for where\u0026nbsp;precipitation\u0026nbsp;is likely to occur\u003C/li\u003E\n\u003Cli\u003ERules for how heavy\u0026nbsp;precipitation\u0026nbsp;is likely to be when it occurs\u003C/li\u003E\n\u003Cli\u003EYour model analysis statement of the speed and direction the\u0026nbsp;front\u0026nbsp;is moving\u003C/li\u003E\n\u003C/ul\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147926-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"**1. Guide student teams to complete their weather forecast.**\\n\\n**2. Reveal the actual weather for 7 am on the NYO Games day.**\\n\\nIf possible, project this [MODEL](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) for your students. It is designed to easily show the progress of the front leading up to the NYO Games. It is designed to give your students a sense of completion with their work in this curriculum. It could also help frame a final discussion.\\n\\nThe model has wind data for 13 different days and times from the 10 Alaska weather stations. The drop-down menu, the slider, and the arrow buttons allow you to easily select the wind data in 2-hour intervals between April 21 at 7am to April 22 at 7 am. If you uncheck the \\\"wind-visible?\\\" and \\\"trails?\\\" features you can click through a 24 hour period to see how the wind changes at each station. Repeating this more slowly with one or both checkboxes set true, will show the progress of the front. Finally, press the Reveal button to see the wind at the beginning of the NYO Games. \\n\\nAlso, please see the **Anchorage weather report** below:\\nModerate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain. \\n\\n* Temperature: 43\u00b0F/6.1\u00b0C\\n* Wind: 280\u00b0\\n* Precipitation: none\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"\",\"teacherTip\":\"You may need to turn on Lesson 1 again if students don't remember what their prediction was on (page ?) in Lesson 1. \",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "questionWrapper", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10291-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10292-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Students will be producing a weather forecast in this lesson. They will deciding to hold the Native Youth Olympics in Anchorage on April 23. Students could also recommend postponing NYO as well.\\n\\nStudents in their teams will be editing a presentation template or creating their own and will be develop a script or outline for the weather forecast to be presented to the class. Please see steps to guide students through the process below:\\n\\n1. Teams will edit the template for their forecast or create their own.\\n\\n2. Teams will write a script or outline to use in their forecast presentation.\\n\\n3. When the team is ready to present, project the presentation. \\n\\n4. As each team presents, video record the presentation.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    In Lesson 1, Activity 2 - Making a Prediction, what did you predict the weather will be at 7:00 am in Anchorage on April 23?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1897-ManagedInteractive", + "linked_interactives": [] + }, + "section": null }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10293-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143616, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Quiz", - "position": 6, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp\u003EAs a research team, reflect on your experience both in this lesson and the weather unit as a whole.\u003C/p\u003E", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147927-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EDid your weather predictions get better at the end of the unit? Why or why not?\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208901-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhy do you think weather forecasters sometimes get weather predictions wrong?\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208902-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EImagine you could create your own computer weather model to make an even better weather prediction. What extra features would your model have? What could your model do?\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208903-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "\u003Cp\u003EWhat other problems do you think you could use computational thinking to solve?\u003C/p\u003E", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208904-Embeddable::OpenResponse" - }, - "section": null - }, { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Reflection on the computational thinking practices students learned throughout the unit. \\n\\n* Have a class discussion about computational thinking and weather. You can use the online activity questions as prompts:\\n\\n * Did your weather predictions get better at the end of the unit?\\n\\n * Why do you think weather forecasters sometimes get weather predictions wrong?\\n\\n * If you could have created your own computer weather model to make a better prediction, what else would you have your model do?\\n\\n * What other problems do you think you could use computational thinking to solve?\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"a6d209ef-958d-474c-a8db-e1b73b84fde7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"2ffa3691-0e65-48b2-8466-b8528d8de2b5\"}],\"prompt\":\"

    How confident were you of your prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1898-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143615, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Research Teams in Action", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Your team will produce up to a two-minute weather forecast. You may use the template provided or you may develop your own. In addition, each team needs to write a script or outline that explains your forecast. Include in your forecast the following:

    \n
      \n
    • Location of the front that you have been tracking
    • \n
    • Temperature
    • \n
    • Precipitation
    • \n
    • Wind Direction
    • \n
    • Decide to hold NYO or to cancel or postpone it due to bad weather preventing teams from flying into Anchorage
    • \n
    \n

    You can access the Student Presentation Template in Keynote, Google, or Powerpoint to prepare your forecast.

    \n

    You have additional resources to help you:

    \n
      \n
    • Weather Station Data (temperature, moisture content, and wind direction from 10 stations for every 2 hours)
    • \n
    • Radar Images (shows precipitation in the region every 6 hours)
    • \n
    • Rules for where precipitation is likely to occur
    • \n
    • Rules for how heavy precipitation is likely to be when it occurs
    • \n
    • Your model analysis statement of the speed and direction the front is moving
    • \n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147926-Embeddable::Xhtml" + }, + "section": "header_block" }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10294-Embeddable::EmbeddablePlugin" - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 144656, - "is_completion": false, - "is_hidden": false, - "layout": "l-6040", - "name": "Presentation", - "position": 7, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [{ - "embeddable": { - "content": "\u003Cp style=\"padding-left: 30px;\"\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/L7instructionsscale.png\" width=\"720\" height=\"329\" /\u003E\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "149053-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "content": "\u003Cp\u003E\u003Cimg src=\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/weather_forecasting_tools.png\" width=\"720\" height=\"215\" /\u003E\u003C/p\u003E", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "149055-Embeddable::Xhtml" - }, - "section": "header_block" - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{\"b74ab519-8aa4-47d3-999b-39455379f007\":{\"left\":203,\"top\":20},\"9645999f-9613-4843-9cda-cb216a1d39c2\":{\"left\":107,\"top\":113},\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\":{\"left\":202,\"top\":187}}},\"draggableItems\":[{\"id\":\"f6793037-7a87-445d-8772-9c9eb7855150\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"b74ab519-8aa4-47d3-999b-39455379f007\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"9645999f-9613-4843-9cda-cb216a1d39c2\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"f83a70e2-efee-4bba-a64e-1eef54f47478\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png\"}]}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "bc60f7570392901235434f601d724026a4e4c3b1", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This shouldn't be used by any real activities it is still under development.", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Drag and Drop (master)", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"**1. Guide student teams to complete their weather forecast.**\\n\\n**2. Reveal the actual weather for 7 am on the NYO Games day.**\\n\\nIf possible, project this [MODEL](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) for your students. It is designed to easily show the progress of the front leading up to the NYO Games. It is designed to give your students a sense of completion with their work in this curriculum. It could also help frame a final discussion.\\n\\nThe model has wind data for 13 different days and times from the 10 Alaska weather stations. The drop-down menu, the slider, and the arrow buttons allow you to easily select the wind data in 2-hour intervals between April 21 at 7am to April 22 at 7 am. If you uncheck the \\\"wind-visible?\\\" and \\\"trails?\\\" features you can click through a 24 hour period to see how the wind changes at each station. Repeating this more slowly with one or both checkboxes set true, will show the progress of the front. Finally, press the Reveal button to see the wind at the beginning of the NYO Games. \\n\\nAlso, please see the **Anchorage weather report** below:\\nModerate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain. \\n\\n* Temperature: 43°F/6.1°C\\n* Wind: 280°\\n* Precipitation: none\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10292-Embeddable::EmbeddablePlugin" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2125-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":800,\"canvasHeight\":500,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "bc60f7570392901235434f601d724026a4e4c3b1", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "This shouldn't be used by any real activities it is still under development.", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Drag and Drop (master)", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": false, - "authorable": true - } + { + "embeddable": { + "plugin": { + "description": null, + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Students will be producing a weather forecast in this lesson. They will deciding to hold the Native Youth Olympics in Anchorage on April 23. Students could also recommend postponing NYO as well.\\n\\nStudents in their teams will be editing a presentation template or creating their own and will be develop a script or outline for the weather forecast to be presented to the class. Please see steps to guide students through the process below:\\n\\n1. Teams will edit the template for their forecast or create their own.\\n\\n2. Teams will write a script or outline to use in their forecast presentation.\\n\\n3. When the team is ready to present, project the presentation. \\n\\n4. As each team presents, video record the presentation.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10293-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143616, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As a research team, reflect on your experience both in this lesson and the weather unit as a whole.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147927-Embeddable::Xhtml" + }, + "section": "header_block" }, - "type": "ManagedInteractive", - "ref_id": "2126-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }, { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"\u003Cp\u003EDrag following items:\u003C/p\u003E\",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "a309b989c0cff0915fe71fcdf16dd116a6231c9b", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Drag and Drop", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": true, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Did your weather predictions get better at the end of the unit? Why or why not?

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208901-Embeddable::OpenResponse" + }, + "section": null }, - "type": "ManagedInteractive", - "ref_id": "2127-ManagedInteractive", - "linked_interactives": [] - }, - "section": null - }] - }, { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 308577, - "is_completion": true, - "is_hidden": false, - "layout": "l-6040", - "name": "Completion Page", - "position": 9, - "show_header": false, - "show_info_assessment": false, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [] - }], - "plugins": [{ - "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", - "approved_script_label": "glossary", - "component_label": "glossary", - "approved_script": { - "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - "label": "glossary", - "description": "This plugin provides the glossary activity plugin", - "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Why do you think weather forecasters sometimes get weather predictions wrong?

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208902-Embeddable::OpenResponse" + }, + "section": null + }, + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    Imagine you could create your own computer weather model to make an even better weather prediction. What extra features would your model have? What could your model do?

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208903-Embeddable::OpenResponse" + }, + "section": null + }, + { + "embeddable": { + "default_text": "", + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "name": "", + "prediction_feedback": "", + "prompt": "

    What other problems do you think you could use computational thinking to solve?

    ", + "show_in_featured_question_report": true, + "type": "Embeddable::OpenResponse", + "ref_id": "208904-Embeddable::OpenResponse" + }, + "section": null + }, + { + "embeddable": { + "plugin": { + "description": "", + "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Reflection on the computational thinking practices students learned throughout the unit. \\n\\n* Have a class discussion about computational thinking and weather. You can use the online activity questions as prompts:\\n\\n * Did your weather predictions get better at the end of the unit?\\n\\n * Why do you think weather forecasters sometimes get weather predictions wrong?\\n\\n * If you could have created your own computer weather model to make a better prediction, what else would you have your model do?\\n\\n * What other problems do you think you could use computational thinking to solve?\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "approved_script_label": "teacherEditionTips", + "component_label": "windowShade", + "approved_script": { + "name": "Teacher Edition", + "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", + "label": "teacherEditionTips", + "description": "This plugin provides Teacher Edition components", + "version": 3, + "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + } + }, + "is_hidden": false, + "is_full_width": true, + "type": "Embeddable::EmbeddablePlugin", + "ref_id": "10294-Embeddable::EmbeddablePlugin" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144656, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Presentation", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149053-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149055-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{\"b74ab519-8aa4-47d3-999b-39455379f007\":{\"left\":203,\"top\":20},\"9645999f-9613-4843-9cda-cb216a1d39c2\":{\"left\":107,\"top\":113},\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\":{\"left\":202,\"top\":187}}},\"draggableItems\":[{\"id\":\"f6793037-7a87-445d-8772-9c9eb7855150\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"b74ab519-8aa4-47d3-999b-39455379f007\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"9645999f-9613-4843-9cda-cb216a1d39c2\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"f83a70e2-efee-4bba-a64e-1eef54f47478\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "bc60f7570392901235434f601d724026a4e4c3b1", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2125-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":800,\"canvasHeight\":500,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "bc60f7570392901235434f601d724026a4e4c3b1", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This shouldn't be used by any real activities it is still under development.", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop (master)", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2126-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"

    Drag following items:

    \",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "a309b989c0cff0915fe71fcdf16dd116a6231c9b", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2127-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 308577, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Completion Page", + "position": 9, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } } - }], + ], "type": "LightweightActivity", "export_site": "Lightweight Activities Runtime and Authoring" -} +} \ No newline at end of file From e8759f248e4bc1b0ebe2a34c9a66ae812193fd41 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Thu, 1 Apr 2021 18:12:18 -0400 Subject: [PATCH 200/242] updated content after running the update-offline-manifest script --- .../precipitating-change-v4/interview.json | 20 +- .../lesson-1-post.json | 12 +- .../precipitating-change-v4/lesson-1.json | 180 ++- .../lesson-2-post.json | 10 +- .../precipitating-change-v4/lesson-2-pre.json | 10 +- .../precipitating-change-v4/lesson-2.json | 727 ++++++----- .../lesson-3-post.json | 10 +- .../precipitating-change-v4/lesson-3-pre.json | 10 +- .../precipitating-change-v4/lesson-3.json | 114 +- .../lesson-4-post.json | 10 +- .../precipitating-change-v4/lesson-4-pre.json | 10 +- .../precipitating-change-v4/lesson-4.json | 190 +-- .../lesson-5-post.json | 10 +- .../precipitating-change-v4/lesson-5-pre.json | 10 +- .../precipitating-change-v4/lesson-5.json | 1120 ++++++++++------- .../lesson-6-post.json | 10 +- .../precipitating-change-v4/lesson-6-pre.json | 10 +- .../precipitating-change-v4/lesson-6.json | 617 ++++----- .../precipitating-change-v4/lesson-7.json | 534 +------- .../precipitating-change-v4.json | 211 +--- 20 files changed, 1803 insertions(+), 2022 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v4/interview.json b/src/public/offline-activities/precipitating-change-v4/interview.json index d1c883be..7f8131ff 100644 --- a/src/public/offline-activities/precipitating-change-v4/interview.json +++ b/src/public/offline-activities/precipitating-change-v4/interview.json @@ -58,7 +58,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -121,7 +121,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -172,7 +172,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -223,7 +223,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -274,7 +274,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -325,7 +325,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -376,7 +376,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -405,12 +405,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144898, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-1-post.json index 7a8cb7f3..77377a9f 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-1-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-1-post.json @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -121,7 +121,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -172,7 +172,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -201,12 +201,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144899, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-1.json b/src/public/offline-activities/precipitating-change-v4/lesson-1.json index 7f379802..be1abcea 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-1.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-1.json @@ -37,7 +37,7 @@ "is_callout": true, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Introducing Jackie Purcell, a news station meteorologist", "type": "Embeddable::Xhtml", "ref_id": "147485-Embeddable::Xhtml" }, @@ -45,9 +45,9 @@ }, { "embeddable": { - "name": "Jackie Purcell - L1", + "name": "Jackie Purcell - Lesson 1", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -129,7 +129,7 @@ "embeddable": { "name": "Mr. Neyhard's Introduction", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -152,7 +152,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -211,7 +211,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -234,7 +234,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -316,7 +316,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -340,6 +340,57 @@ }, "section": "interactive_box" }, + { + "embeddable": { + "name": "Reading Weather Forcasts", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2230-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, { "embeddable": { "content": "

    Look at the weather data for the morning on Tuesday.

    ", @@ -379,7 +430,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -430,7 +481,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -481,7 +532,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -509,7 +560,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A sweater, some pants, and either an umbrella or a rain jacket because it’s not too cold or too warm but it is supposed to be raining.\",\"correct\":true},{\"id\":\"2\",\"content\":\"My parka/big fluffy coat, snow pants, snow boots, and ski goggles because snow will be falling.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Shorts and T-shirt with sunglasses because it will be sunny and hot.\",\"correct\":false}],\"prompt\":\"

    Based on the weather forecast, what would you wear on Tuesday morning?

    \",\"enableCheckAnswer\":true}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"3\",\"content\":\"Shorts and T-shirt with sunglasses because it will be sunny and hot.\",\"correct\":false},{\"id\":\"2\",\"content\":\"My parka/big fluffy coat, snow pants, snow boots, and ski goggles because snow will be falling.\",\"correct\":false},{\"id\":\"1\",\"content\":\"A sweater, some pants, and either an umbrella or a rain jacket because it’s not too cold or too warm but it is supposed to be raining.\",\"correct\":true}],\"prompt\":\"

    Based on the weather forecast, what would you wear on Tuesday morning?

    \",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -532,7 +583,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -577,41 +628,66 @@ "embeddables": [ { "embeddable": { - "content": "

    MAKING A PREDICTION

    \r\n

    Can you determine at night what the weather will be the following morning? What kind of information goes into a weather prediction?

    \r\n

    You have been planning to go to the NYO Games in Anchorage on April 23 at 7 am. This event has been planned for months and you are expecting that about 500 students will compete from all over the state. One of your jobs is to watch the weather and determine if the event is safe to proceed as planned, or if it should be postponed or cancelled.

    \r\n

    Below is an Alaska weather dataset from weather stations that includes temperature, precipitation, wind speed, and wind direction.

    \r\n

    The data from the weather stations are organized to show information for a 24-hour time period.

    ", - "is_callout": true, - "is_full_width": true, + "name": "Data Dump Video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4\"}", "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147487-Embeddable::Xhtml" + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2231-ManagedInteractive", + "linked_interactives": [] }, "section": "header_block" }, { "embeddable": { - "aspect_ratio_method": "DEFAULT", - "authored_state": "", - "click_to_play": false, - "click_to_play_prompt": null, - "enable_learner_state": false, - "full_window": false, - "has_report_url": false, - "image_url": null, + "content": "

    Can you determine at night what the weather will be the following morning? What kind of information goes into a weather prediction?

    \r\n

    You have been planning to go to the NYO Games in Anchorage on April 23 at 7 am. This event has been planned for months and you are expecting that about 500 students will compete from all over the state. One of your jobs is to watch the weather and determine if the event is safe to proceed as planned, or if it should be postponed or cancelled.

    \r\n

    Below is an Alaska weather dataset from weather stations that includes temperature, precipitation, wind speed, and wind direction.

    \r\n

    The data from the weather stations are organized to show information for a 24-hour time period.

    ", + "is_callout": true, "is_full_width": true, - "is_hidden": true, - "model_library_url": null, - "name": "Alaska Full Map", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": true, - "show_in_featured_question_report": true, - "url": "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", - "type": "MwInteractive", - "ref_id": "96755-MwInteractive", - "linked_interactives": [] + "is_hidden": false, + "name": "Making a Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147487-Embeddable::Xhtml" }, - "section": "interactive_box" + "section": "header_block" }, { "embeddable": { @@ -640,7 +716,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -771,7 +847,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -822,7 +898,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -904,7 +980,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -955,7 +1031,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1006,7 +1082,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1057,7 +1133,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1108,7 +1184,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1137,12 +1213,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144863, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 7, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json index b5e81d29..6119ba2a 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -121,7 +121,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -265,12 +265,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144901, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json index 53690bf6..175f17c4 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -121,7 +121,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -265,12 +265,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144900, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2.json b/src/public/offline-activities/precipitating-change-v4/lesson-2.json index f8a545c3..ada6e7b2 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-2.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -97,7 +97,7 @@ ] }, { - "additional_sections": null, + "additional_sections": {}, "embeddable_display_mode": "stacked", "id": 143207, "is_completion": false, @@ -106,7 +106,7 @@ "name": "Opening", "position": 2, "show_header": true, - "show_info_assessment": true, + "show_info_assessment": false, "show_interactive": false, "show_sidebar": false, "sidebar": null, @@ -119,7 +119,7 @@ "is_callout": false, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Introduction to Measuring Temperature", "type": "Embeddable::Xhtml", "ref_id": "147375-Embeddable::Xhtml" }, @@ -129,7 +129,7 @@ "embeddable": { "name": "Holder for Kevin's video", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -152,7 +152,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -178,75 +178,15 @@ }, { "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 2: DISPLAYING DATA:\\n\\n**HOW CAN WEATHER FROM THE PAST INFORM FUTURE WEATHER PREDICTIONS?**\\n\\nIn this lesson, students are introduced to the virtual storm technology by experiencing a weather event move through their classroom. A weather station collects data about the current weather at a specific location. The strategic placement of multiple stations and use of digital tools and mathematical concepts allows weather scientists to create a more accurate and complete model/visualization of the weather over a region and analyze it for patterns and trends. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Take a limited amount of information and develop a more complete picture of the weather (create a weather visualization)\\n\\n* Explain a weather map using traditional weather symbols and codes (weather stations with temperature)\\n\\n* Make minimally informed predictions about future weather events\\n\\n* Explain that weather varies over time\\n\\nComputational Thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Data Aggregation | Describes the data collection and organization process you use to better understand the topic. | Students will collect temperature data from tablet/laptop and organize the data in charts on the wall. |\\n| Data Abstraction | Simplifying data to make it easier to interpret and find patterns. | Students will come up with a color scheme for temperature and change how the data is represented from numbers to temperature categories, and then to colors. |\\n| Interpolation | Estimating an unknown value based on surrounding information. | Students will make best guess estimates of the temperatures that are missing on the map. |\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students collect data in two rounds and see patterns of data moving across the charts. Before and after each data collection they will interpolate data. They will discover that warm and cold spots on the map are consistently on certain sides, and also see these spots change over time. |\\n| Extrapolation | Following a pattern beyond the known data points. | Students predict future weather based on patterns they observe in the changing temperatures they collected and visualized. |\\n \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9759-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME \\t 2 class periods with Pre-Assessment (80 mins)\\n\\n**KEY ACTIVITIES:**\\nOpening - (5 mins)\\n\\nActivity 1 - Virtual Storm (30 mins)\\n\\nActivity 2 - Interpolating Weather Station Data (20 mins)\\n\\nActivity 3 - Virtual Storm (15 mins)\\n\\nPost-Assessment - How Should We Estimate the Temperature? (10 mins)\\n\\n### MATERIALS AND SET-UP\\nActivity 1 - Virtual Storm: Displaying Temperature Data\\n \\nThis activity requires significant setup time and you may want to plan a few hours to transform the classroom into a 7x7 gridded space and to test and set up the iPads/laptops. \\n\\n**Per Research Team (2-4 students):**\\n\\n* Marker\\n* 3\\\" x 3\\\" sticky notes in the following colors: blue, green, yellow, red, purple, orange\\n* Fully charged and connected iPad/laptop that can display the online activity\\n* Set of colored pencils (for individual student sheets)\\n\\n**Per Class:**\\n\\n* Click [HERE](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf) and print “A-G” and \\\"1-7\\\" coordinates in the largest font possible.\\n\\n* Push desks to walls to get as much open space in your classroom as possible.\\n\\n* Tape labels to the classroom walls, evenly spaced. Make sure the letters are on opposite walls and the numbers on walls opposite, mirroring each other. See image below for an example:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GridSetUpExampleRESIZED.png)\\n\\n* Students should be able to stand in the grid. For example, the smiley face represents a student standing in G6. Adapt the grid points to what you have available in your learning space.\\n\\n**Weather maps:**\\n\\n* Place four large poster-sized sheets of gridded paper on a classroom wall, organizing the chart paper in a row. Each sheet will contain a 7 x 7 grid with axes labeled to match the room set-up. Click [HERE](https://youtu.be/HD_6BAHib1A) to watch a tutorial on how to create weather map grids for your classroom. \\n\\n* Label the top of each sheet with a different time: 7:00 am, 11:00 am, 3:00 pm, and 7:00 pm, and organize them on the wall in order of the time.\\n\\n* Have students track the virtual weather event and record their group's data on the tracking sheet in their Science Notebook.\\n\\n**City Markers:**\\n\\n* Print five city markers by clicking [HERE - PDF](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/GraphCoordinates_AK.pdf)\\n\\n* Place \\\"City Markers\\\" on the floor in the appropriate classroom grid locations that correspond to the map shown in the image below:\\n\\n![](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/AKGridMapResized.png)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9760-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 2.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, + "content": "

    As  weather scientists (meteorologists), you will experience a virtual storm event.  As the virtual storm event occurs, you will learn how to use temperature data from weather stations to fill in the spaces between weather stations.

    \r\n

    As part of your lesson challenge, you will need to determine how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.

    ", + "is_callout": true, "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9761-Embeddable::EmbeddablePlugin" + "is_hidden": false, + "name": "A Virtual Storm", + "type": "Embeddable::Xhtml", + "ref_id": "149269-Embeddable::Xhtml" }, - "section": null + "section": "header_block" } ] }, @@ -257,7 +197,7 @@ "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Weather Station - Data", + "name": "Weather Station Data", "position": 3, "show_header": true, "show_info_assessment": true, @@ -293,105 +233,60 @@ }, { "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Activity 1 - Virtual Storm: Visualizing Temperature \\n\\nIn this activity, students simulate the experience of a weather scientist collecting weather data for a large area and organizing it into useful maps to predict a future weather event. Students collaboratively negotiate what the data means, as well as how to accurately record the data and represent it so they can use the emerging pattern to predict a future weather event. The specific computational thinking practices highlighted and practiced in this activity are **Data Aggregation**, **Abstraction**, and **Interpolation**.\\n\\n###Activity Breakdown\\n**1. Setting the stage for the virtual storm.** The grid in the classroom represents a smaller region in Alaska than the area covered in the Lesson 1 radar images. This area includes the following cities: Bettles, Gelena, Nome, Noorvik, and St. Mary’s. In their research teams, students collect temperature data every four hours throughout the region for an eight-hour period of time. \\n\\n* Have a student stand in a square and ask the class to identify the coordinates of where they are standing. Repeat until clear.\\n\\n**2. Round 1 - Starting the Virtual Storm technology. **\\n\\n* Ask research teams to select a student from their team to move to an unoccupied grid cell. \\n\\n* Launch the Virtual Storm technology and have another student from the team record the temperature in the selected cell onto the poster sheet labeled \\\"7:00 am.\\\" \\n\\n* Click \\\"PLAY\\\" on the Virtual Storm technology. Instruct the students to watch the clock in the Weather Sensor, and every four hours record the temperature readings onto the corresponding poster sheets on the walls (7:00 am, 11:00 am, 3:00 pm). After this round, all posters should have eight squares filled in. \\n\\n**3. Round 2 - Students gaining practice by repeating the process.**\\n\\n* Click the “RESET” button. Ask research groups to choose new positions on the grid. \\n* Run the simulation and encourage students to collect and record the data on the three maps again. At the end of this round, each chart should have 16 squares filled in on each chart.\\n\\n**4. Round 3 - Be more strategic.**\\n\\n* Let the research teams rethink their position and either stay or move to a more strategically chosen position.\\n\\n* Run the simulation again, asking students to record the data on three charts. At the end of this round, 24 squares should be filled in with temperature data.\\n\\n** 5. Class Discussion - Emerging patterns & abstraction.**\\n\\n* Help students develop a color scheme of their choosing, and suggest colored sticky notes for the scheme. Honor the way students want to do it and post the scheme on the wall. For example, students might come up with six temperature categories:\\n * 10-19°F/-12.2 to -7.2°C: purple (extremely cold)\\n * 20-29°F/-6.7 to -1.7°C: blue (very cold)\\n * 30-39°F/-1.1 to 3.9°C: green (cold)\\n * 40-49°F/4.4 to 9.4°C: yellow (cool)\\n * 50-59°F/10 to 15°C: orange (warm)\\n * 60-69°F/15.6 to 20.6°C: red (very warm)\\n\\n* Before going on, have students place the colored sticky notes with the temperatures written on them over the original temperatures. Each team is responsible for their first three postings. \\n\\n** 6. Round 4 - Interpolation test.** \\n\\n* Direct the research teams to choose a new positions on the grid and ask them to take a **\\\"GUESS\\\"** of what the temperature will be for each of the charts.\\n\\n* Run the simulation. Students use the correct colored post-it note for the actual temperature and write **“ACTUAL”** on the note and place it over their previous guesses. At the end of this round, there should be 32 squares covered on each chart.\\n\\n**7. Class discussion - Introduce interpolation strategy.** Please see Interpolation Strategy discussion prompts in the Discussion Points below. \\n\\n**8. Round 5 - Repeat interpolation strategy.**\\n\\n* Students repeat Step 6 with the new Interpolation Strategy informing their decision. At the end of this round, there should be 40 squares covered on the chart. \\n\\n**9. Interpolate to Complete the Image.**\\n\\n* As a class, fill in the remaining nine squares on the charts with the agreed upon colored sticky notes. Do not run the simulation to check. At this time, the three charts should be completely filled in.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, + "name": "Measuring Temperature 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56°F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57°F\",\"correct\":false},{\"content\":\"58°F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"

    What is the temperature in Noorvik (cell C-2) at 7am?

    \",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9762-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Location Selection Strategy\\n\\nWhen you ask research groups to choose new positions on the grid, before starting the simulation, have a short discussion on why they selected these locations. The discussion could unveil two potential strategies: \\n\\n1. Areas where data are very sparse (large open areas where we have no readings at all).\\n\\n2. Areas where we are beginning to see interesting trends and want to see whether the patterns we are observing will continue.\\n\\n###Emerging Patterns & Abstraction\\nAfter 24 squares have been filled in, ask students the following:\\n\\n* Do you see any emerging patterns in the data? \\n\\n* Why is it hard to determine patterns? Responses could include sparseness of data, but also difficulty of seeing patterns around the numerical representation of temperature.\\n\\n* How can we make it easier to see the temperature patterns? Answer: color code the numbers in a system. If students struggle with coming up with an answer, remind them how they tend to see temperature on common weather forecasts.\\n\\n###Data Abstraction (simplifying or generalizing data to analyze it for trends). \\nPossible prompts for the discussion:\\n\\n* Do you see any patterns with the color coding that you did not see before we added the post-it notes?\\n\\n* How does adding the color help? (It helps your perception: your eye is more easily able to see clusters and trends.)\\n\\n* Is there any disadvantage to using color instead of the numbers? (Yes, we lose detail. We can no longer tell the difference between a cell that was 44° and one that was 46°.)\\n\\n###Interpolation Strategy\\nLead a class discussion reflecting on which guesses were right, wrong, and close. Possible prompts:\\n\\n* Which groups got their predictions right? What was their strategy?\\n\\n* Which groups got their predictions wrong? How close were they? What was their strategy?\\n\\n* Do you think real atmospheric scientists ever have to fill in data (“guess”) in between known data points? Why or why not?\\n\\n* What was your strategy/reasoning that informed your guess? \\n\\n* Which research group’s strategies were successful? Which were not? \\n\\n* Any strategies you would like to use in the future?\\n\\n* Did you get better at guessing this time? Why or why not?\\n\\n* How reliable do you think these guesses or estimates are?\\n\\n\\n###Interpolation Introduction\\n\\nTell the students that what they have been doing when guessing is called interpolation, estimating an unknown value based on surrounding information.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9763-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"This Precipitating Change How To Tutorial can be shown to the whole class to give students a better understanding of their roles during the Virtual Storm activity. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"Virtual Storm Student Guide,\\\" 2019. \",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20Virtual%20Storm%20Student%20Guide.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9764-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Once you launch the Virtual Storm by clicking \\\"PLAY\\\", the students will watch the clock and record the temperature readings onto the corresponding weather map poster sheets on the wall every four hours (7:00 am, 11:00 am, 3:00 pm). Follow the steps provided in the Theory & Background section to guide the students to complete the weather maps.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials, \\\"The Virtual Storm Interactive Alaska,\\\" 2019.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9765-Embeddable::EmbeddablePlugin" + "type": "ManagedInteractive", + "ref_id": "1708-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "name": "", + "name": "Measuring Temperature 2", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56°F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57°F\",\"correct\":false},{\"content\":\"58°F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"

    What is the temperature in Noorvik (cell C-2) at 7am?

    \",\"enableCheckAnswer\":true}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"59\",\"correct\":true},{\"id\":\"2\",\"content\":\"60\",\"correct\":false},{\"id\":\"3\",\"content\":\"61\",\"correct\":false},{\"content\":\"62\",\"correct\":false,\"id\":\"08635443-83af-4226-87b9-12531809a282\"}],\"prompt\":\"

    What is the temperature in St. Mary's (cell C-6) at 7am?

    \",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -414,7 +309,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -433,14 +328,14 @@ } }, "type": "ManagedInteractive", - "ref_id": "1708-ManagedInteractive", + "ref_id": "2232-ManagedInteractive", "linked_interactives": [] }, "section": null }, { "embeddable": { - "name": "", + "name": "Measuring Temperature 3", "url_fragment": null, "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"55°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"56°F\",\"correct\":false},{\"content\":\"57°F\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"

    What is the temperature in Nome (cell B-4) at 7am?

    \",\"enableCheckAnswer\":true}", "is_hidden": false, @@ -465,7 +360,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -585,7 +480,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -636,7 +531,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -687,7 +582,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -738,7 +633,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -789,7 +684,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -871,7 +766,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -922,7 +817,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -973,7 +868,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1024,7 +919,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1075,7 +970,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1108,7 +1003,7 @@ "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Interpolation", + "name": "Introducing Interpolation", "position": 6, "show_header": true, "show_info_assessment": true, @@ -1120,11 +1015,11 @@ "embeddables": [ { "embeddable": { - "content": "

    How do you think weather scientists (meteorologists) fill in data for missing locations? Scientists have many methods for constructing unknown data between known data points. This is called data interpolation.

    \n

    There are many different methods to interpolate data. Let’s look at the three interpolation methods used to make these maps.

    \n

    \"\"

    \n

    Nearest Neighbor Interpolation

    \n

    For Square A, you may have guessed 54°F degrees or something very close to that. This is the simplest interpolation method. It is called Nearest Neighbor. With this method, you find the nearest weather station to the unknown point and assume it has a similar temperature.

    \n


    Linear Interpolation

    \n

    For Square B, you may have guessed between 38°F and 50°F, but closer to 50°F. Since this square is between two known temperatures, the unknown temperature is probably between 38°F and 50°F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.

    \n

    \"\"

    \n

    This method is called Linear Interpolation.

    \n


    Weighted Average Interpolation

    \n

    For Square C, the square is between other squares at 30°F, 48°F, and 50°F. You could average the three numbers and get approximately 43°F. Or you could try to be even more precise. The unknown square is closer to the 50°F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45°F or 46°F). This method is called Weighted Average Interpolation since we give more “weight” or influence to the closer stations.

    \n

    \"\"

    \n

     

    ", - "is_callout": false, + "content": "

    How do you think weather scientists (meteorologists) fill in data for missing locations? Scientists have many methods for constructing unknown data between known data points. This is called data interpolation.

    \r\n

    There are many different methods to interpolate data. Let’s look at the three interpolation methods used to make these maps.

    ", + "is_callout": true, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Three Methods of Interpolation", "type": "Embeddable::Xhtml", "ref_id": "147378-Embeddable::Xhtml" }, @@ -1132,27 +1027,66 @@ }, { "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Interpolating Weather Station Data\\n\\nStudents will work through three tasks that will deepen their understandings of the three interpolation methods (nearest neighbor, linear, and weighted average). \\n\\n**Teacher Note: Definitions of the Three Interpolation Methods**\\n\\n* **Nearest Neighbor Interpolation:** Find the nearest weather station to your unknown point, and assume it has the same temperature as the unknown.\\n\\n* **Linear Interpolation:** If an unknown is between two points, estimate a number that is between those two points, but closer to the point that it is geographically closer to. Temperature change between the two points should increase/decrease in regular intervals.\\n\\n* **Weighted Average Interpolation**: Choose three stations around your point, and estimate a number that is the average of the three. But, don’t stop there. Try to be even more precise. If the unknown point is closer to one or two of the points, then estimate the unknown point closer in value to the stations it is nearer to.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + "content": "

    \"\"

    \r\n

    For Square A, you may have guessed 54°F degrees or something very close to that. This is the simplest interpolation method. It is called Nearest Neighbor. With this method, you find the nearest weather station to the unknown point and assume it has a similar temperature.

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Nearest Neighbor Interpolation", + "type": "Embeddable::Xhtml", + "ref_id": "149272-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Mr. Neyhard's Introduction to Nearest Neighbor Interpolation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true } }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9766-Embeddable::EmbeddablePlugin" + "type": "ManagedInteractive", + "ref_id": "2236-ManagedInteractive", + "linked_interactives": [] }, - "section": null + "section": "header_block" }, { "embeddable": { @@ -1181,7 +1115,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1204,12 +1138,125 @@ "linked_interactives": [] }, "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144865, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Linear Interpolation", + "position": 7, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    \"\"

    \r\n

    For Square B, you may have guessed between 38°F and 50°F, but closer to 50°F. Since this square is between two known temperatures, the unknown temperature is probably between 38°F and 50°F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.

    \r\n

    \"Number

    \r\n

    This method is called Linear Interpolation.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149270-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Linear Interpolation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2237-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144866, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weighted Average Interpolation", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    For Square C, the square is between other squares at 30°F, 48°F, and 50°F. You could average the three numbers and get approximately 43°F. Or you could try to be even more precise. The unknown square is closer to the 50°F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45°F or 46°F). This method is called Weighted Average Interpolation since we give more “weight” or influence to the closer stations.

    \r\n

    \"\"

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149271-Embeddable::Xhtml" + }, + "section": "header_block" }, { "embeddable": { - "name": "Kevin Short Video", + "name": "Weighted Average Interpolation", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -1232,7 +1279,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -1251,7 +1298,58 @@ } }, "type": "ManagedInteractive", - "ref_id": "1725-ManagedInteractive", + "ref_id": "2238-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Comparing the Interpolation Methods", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"7cc05e06-f819-43df-b946-7cbc0654788c\"}],\"prompt\":\"

    If two weather scientists were using the same data but different interpolation methods, could they get different results??

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2239-ManagedInteractive", "linked_interactives": [] }, "section": null @@ -1265,8 +1363,8 @@ "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Interpolation (Cont.)", - "position": 7, + "name": "Interpolating Maps", + "position": 9, "show_header": true, "show_info_assessment": true, "show_interactive": false, @@ -1314,7 +1412,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1365,7 +1463,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1416,7 +1514,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1479,7 +1577,7 @@ "is_hidden": false, "layout": "l-6040", "name": "Pattern Recognition", - "position": 8, + "position": 10, "show_header": false, "show_info_assessment": true, "show_interactive": true, @@ -1527,7 +1625,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1578,7 +1676,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1612,7 +1710,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "Pattern Recognition (Cont.)", - "position": 9, + "position": 11, "show_header": true, "show_info_assessment": true, "show_interactive": true, @@ -1660,7 +1758,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1711,7 +1809,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1762,7 +1860,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1813,7 +1911,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1862,6 +1960,57 @@ "linked_interactives": [] }, "section": "interactive_box" + }, + { + "embeddable": { + "name": "Painting the Map", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2240-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" } ] }, @@ -1873,7 +2022,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "Moving Weather Pattern", - "position": 10, + "position": 12, "show_header": true, "show_info_assessment": true, "show_interactive": true, @@ -1921,7 +2070,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1972,7 +2121,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2006,7 +2155,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "Future Weather Prediction", - "position": 11, + "position": 13, "show_header": true, "show_info_assessment": true, "show_interactive": true, @@ -2066,7 +2215,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2117,7 +2266,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2168,7 +2317,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2219,7 +2368,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/fill-in-the-blank/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2270,7 +2419,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2330,7 +2479,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "Future Weather Prediction (Cont.)", - "position": 12, + "position": 14, "show_header": true, "show_info_assessment": true, "show_interactive": true, @@ -2341,7 +2490,7 @@ "embeddables": [ { "embeddable": { - "content": "

    The map on this page is just the same as the previous page except it includes the measurement for 7pm. Use the slider to compare your prediction to the measured data.

    ", + "content": "

    The model on this page is just the same as the one on the previous page except it includes the measurement for 7pm. Use the slider to compare your prediction to the measured data.

    ", "is_callout": true, "is_full_width": true, "is_hidden": false, @@ -2378,7 +2527,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2429,7 +2578,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2480,7 +2629,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2531,7 +2680,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2591,7 +2740,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "Quiz", - "position": 13, + "position": 15, "show_header": true, "show_info_assessment": true, "show_interactive": false, @@ -2612,102 +2761,6 @@ }, "section": "header_block" }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### Interpolation Highlights\\n* Remind students that this activity is similar to the \\\"guessing\\\" process they used in their previous activity to fill in the data chart. \\n\\n* Explain again that weather scientists don’t have data for every location on earth and that they interpolate data to develop a more complete picture. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9767-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for A below:\\n\\nWeighted Average = 36\\nNearest Neighbor = 30\\nLinear = 32\\n\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "questionWrapper", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": false, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9768-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for B below:\\nWeighted Average = 42\\nNearest Neighbor = 48\\nLinear = 44\\n\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "questionWrapper", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": false, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9769-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"Depending on the interpolation method used, please see possible answers for C below:\\nWeighted Average = 48\\nNearest Neighbor = 54\\nLinear = 51\",\"teacherTip\":\"\",\"teacherTipImageOverlay\":\"\",\"location\":\"top\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "questionWrapper", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "9770-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "name": "", @@ -2735,7 +2788,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2786,7 +2839,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2837,7 +2890,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2888,7 +2941,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -2917,12 +2970,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144864, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 16, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json index 4161d811..3b3334fd 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json @@ -142,7 +142,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -193,7 +193,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -222,12 +222,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144903, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json index fd8ca7c2..40c1df72 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json @@ -142,7 +142,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -193,7 +193,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -222,12 +222,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144902, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3.json b/src/public/offline-activities/precipitating-change-v4/lesson-3.json index f0eb5eb9..561bcb48 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -106,7 +106,7 @@ "name": "Opening", "position": 2, "show_header": true, - "show_info_assessment": true, + "show_info_assessment": false, "show_interactive": false, "show_sidebar": false, "sidebar": null, @@ -127,81 +127,9 @@ }, { "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 3: BUILDING RULES:\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students revisit the weather maps they constructed in Lesson 2 and add precipitation and air moisture data for additional time stamps to the weather maps to answer the question \\\"Where does it rain?\\\" Precipitation is a result of the complex interactions between temperature and moisture. Atmospheric scientists construct graphical displays of temperature and moisture content data to help them come up with rules to identify where precipitation occurs. \\n\\nThis lesson introduces a new way of utilizing the virtual simulation that allows students to start recognizing patterns and formalizing their rule statements with the data set they have been exploring in Lesson 2.\\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n* Explain the current weather conditions in their local context\\n\\n* Read weather maps using traditional symbols and codes (adding precipitation)\\n\\n* Use CT strategies (rule abstraction, rule development and rule testing) to develop a better understanding of how to model weather\\n\\nComputational Thinking (CT) skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. Students develop a general statement to answer the question \\\"Where does it rain?\\\"|\\n| Rule Abstraction | Developing a statement of how things work based on observed patterns. | Students make a generic statement to answer \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual model activity |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model.| The virtual model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10229-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (35 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Opening (5 mins)\\n**Activity 1 - Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (20 mins)\\n**Post-Assessment - Which Estimates Should We Trust? (10 mins)\\n\\n\\n### MATERIALS AND SET-UP\\n\\nThe materials and set up are repeated from Lesson 2 - Virtual Storm Technology and included below for your convenience.\\n\\nPer Research Team:\\n\\n* Marker\\n\\n* Fully charged and connected iPad/laptop \\n\\nPer Class:\\n\\n* Set up classroom grid\\n\\nWeather maps:\\n\\n* Display the 7 am, 11 am, and 3 pm completed gridded temperature map students created in Lesson 2, Activity 1 with colored sticky notes for temperatures.\\n\\nCity flags:\\n\\n* Place a printout of each of the Alaskan cities (Bettles, Galena, Nome, Noorvik, St. Mary’s) in locations corresponding to the grid map for Alaska.\\n\\nIn the simulation:\\n\\n* As with the Virtual Storm from the previous lesson, run the simulation (starting at 7 am) and pause it at 3 pm. Students will only collect precipitation data for this activity.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10230-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 3.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10231-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "name": "", + "name": "Introduction to Precipitation Model", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -224,7 +152,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -243,10 +171,10 @@ } }, "type": "ManagedInteractive", - "ref_id": "1761-ManagedInteractive", + "ref_id": "2241-ManagedInteractive", "linked_interactives": [] }, - "section": null + "section": "header_block" } ] }, @@ -306,7 +234,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -357,7 +285,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -408,7 +336,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -531,7 +459,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -639,7 +567,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -690,7 +618,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -741,7 +669,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -909,7 +837,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -960,7 +888,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/image/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1042,7 +970,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1093,7 +1021,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1144,7 +1072,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1177,7 +1105,7 @@ "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", + "name": "Show My Work", "position": 7, "show_header": false, "show_info_assessment": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json index a4265bb4..9cdfbf84 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json @@ -142,7 +142,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -193,7 +193,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -222,12 +222,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144905, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json index 71023a56..f22fb97c 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json @@ -142,7 +142,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -193,7 +193,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -222,12 +222,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144904, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4.json b/src/public/offline-activities/precipitating-change-v4/lesson-4.json index a871d896..eff66dd8 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -106,7 +106,7 @@ "name": "Opening", "position": 2, "show_header": true, - "show_info_assessment": true, + "show_info_assessment": false, "show_interactive": false, "show_sidebar": false, "sidebar": null, @@ -127,75 +127,54 @@ }, { "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### LESSON 4: BUILDING RULES\\n**WHERE DOES IT RAIN?**\\n\\nIn this lesson, students develop a rule for where it will rain and test their rule using a Virtual Model. This lesson supports students to build their understanding of how observations of natural phenomena (weather) can be generalized (rule abstraction) for computational modeling (rule testing and rule refinement) and predictive purposes. This lesson introduces new technology, a Virtual Model, that allows students to test rules with the dataset they have been exploring in Lesson 3. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Describe the relationship between moisture content and temperature by identifying key patterns in weather data\\n\\n* Develop a rule for where precipitation will occur using precise language\\n\\n\\n\\nComputational thinking (CT) Skills introduced in this lesson can be found in the table below:\\n\\n| CT Skill | CT Skill Definition | Use in Lesson |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way. | Students develop a general statement to answer the question, \\\"Where does it rain?\\\" |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed. | Students make a generic statement to answer, \\\"Where does it rain?\\\" |\\n| Rule Testing | Investigating whether a rule will still be true in different situations. | Virtual Model activity|\\n| Rule Refinement | Modifying a rule to be more precise to work in the model. Precise (exact, careful about details) | The Virtual Model allows students to be able to test their rule statements and make changes based on the model. |\\t\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10243-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"### IMPLEMENTATION TIME 1 class period with Pre-Assessment (45 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\n**Activity 1 - Rule Abstraction Conversation (20 mins)\\n\\n**Activity 2 - Refining and Testing Rules using a Virtual Model (25 mins)\\n\\n### MATERIALS AND SET-UP\\n\\nPer Student:\\n\\n* Science Notebooks\\n* Access to Student Online Activities\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, + "name": "Introduction to Computational Rules", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4\"}", "is_hidden": false, "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10244-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 4.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true } }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10245-Embeddable::EmbeddablePlugin" + "type": "ManagedInteractive", + "ref_id": "2243-ManagedInteractive", + "linked_interactives": [] }, - "section": null + "section": "header_block" } ] }, @@ -267,7 +246,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -318,7 +297,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -346,7 +325,7 @@ "embeddable": { "name": "If / Then Rule 3", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C.\",\"correct\":true}],\"prompt\":\"

    Which square will rain according to the following rule:

    \\n

    "If the upper square (the northwest square) is colder than the lower square by [5 degrees] AND IF the moisture of the lower square is [6] THEN it rains in the lower square."

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C.\",\"correct\":true}],\"prompt\":\"

    Which square will have rain according to the following rule:

    \\n

    "If the upper square (the northwest square) is colder than the lower square by [5 degrees] AND IF the moisture of the lower square is [6] THEN it rains in the lower square."

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -369,7 +348,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -404,7 +383,7 @@ "layout": "l-full-width", "name": "Finding the Rule with a Model ", "position": 4, - "show_header": false, + "show_header": true, "show_info_assessment": true, "show_interactive": true, "show_sidebar": false, @@ -412,6 +391,57 @@ "sidebar_title": "Did you know?", "toggle_info_assessment": false, "embeddables": [ + { + "embeddable": { + "name": "Rules Model Explanation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2242-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { "embeddable": { "name": "Best Rule", @@ -439,7 +469,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -490,7 +520,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -730,7 +760,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -781,7 +811,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -832,7 +862,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -861,12 +891,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144867, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 6, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json index 522f0c0f..9a7d283b 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -121,7 +121,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -265,12 +265,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144907, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json index 60f24dd1..faaba130 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -121,7 +121,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -265,12 +265,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144906, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5.json b/src/public/offline-activities/precipitating-change-v4/lesson-5.json index 31d9d667..3f0ce557 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-5.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -106,7 +106,7 @@ "name": "Opening", "position": 2, "show_header": true, - "show_info_assessment": true, + "show_info_assessment": false, "show_interactive": false, "show_sidebar": false, "sidebar": null, @@ -115,87 +115,15 @@ "embeddables": [ { "embeddable": { - "content": "

    Have you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the weather - wind! The direction of the wind can give you clues about what weather to expect. And when the wind changes its direction drastically, interesting weather events can happen.

    \n


    In this lesson you will explore how air masses interact by setting up a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more weather stations. In your Science Notebook, go to Lesson 5 to locate the following information: 
            0 Map with Additional Weather Stations and Data Tables 
            0 Alaskan Stations 7 pm Readings
            0 Alaskan Stations 7 pm Interpolated Map
            0 Alaskan Stations 7 am Interpolated Map
           

    ", + "content": "

    Have you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the weather - wind! The direction of the wind can give you clues about what weather to expect. And when the wind changes its direction drastically, interesting weather events can happen.

    \r\n


    In this lesson you will explore how air masses interact by watching a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more weather stations. 

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Introducing Wind", "type": "Embeddable::Xhtml", "ref_id": "147905-Embeddable::Xhtml" }, "section": "header_block" - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 5: IDENTIFYING AIR MASSES\\n\\n**WHERE DOES THE AIR COME FROM?**\\n\\nIn this lesson, students investigate the role that wind plays in determining the weather and are introduced to ways to identify and define an air mass. Air masses have a similar range of weather variables (temperature and moisture), have indistinct boundaries, and are categorized by the range of weather variables within them. The air within an air mass is constantly moving and precipitation can occur where air from different air masses mixes/interacts. Scientists use models to predict where precipitation will occur based on where different air masses interact, the type of air in each, and the movement of that air.\\n\\nTo begin to identify air masses, students will do a hands-on wind table activity, and get new temperature, air moisture content, and wind direction data for five additional weather stations. As in Lesson 4, the students once again construct a set of rules through a series of activities that allow them to uncover patterns in the data, investigate the mechanisms for these patterns, and abstract a rule that describes the relationship between wind direction, its associated air mass, and the resulting precipitation. \\n\\n###LEARNING GOALS\\nStudents will be able to:\\n\\n* Identify and define an air mass\\n\\n* Explain that air masses are defined by where they come from\\n\\n* Explain the role of wind in weather events\\n\\n* Identify where on a map two different masses are interacting/mixing\\n\\n* Develop a rule for how wind moves and test the rule with multiple kinds of air masses\\n\\n* Develop a rule to express the relationship between weather components (temperature and moisture) and air masses\\n\\nComputational Thinking (CT) skills introduced in this lessons can be found in the table below:\\n\\n| CT Skill | Definition |\\n|---------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| Pattern Recognition | Recognizing that data or information is repeating in a logical (expected) way |\\n| Rule Abstraction | Developing a statement of how things work based on the patterns you observed |\\n| Rule Testing | Investigating whether a rule will still be true in different situations |\\n| Rule Refinement | Modifying a rule to be more precise (exact, careful about details) to work in the model |\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10259-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (90 mins)\\n\\n**Key Activities:**\\n\\nLesson 5: Alaska Mainland - Identifying Air Masses\\n\\n* Activity 1- What is an Air Mass (45 mins)\\n\\n* Activity 2 - What happens when air masses collide (10 mins)\\n\\n* Activity 3 - How do air masses affect precipitation? (25 mins)\\n\\n* Post-Assessment - What Are the Rules for Fronts and Precipitation? (10 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - What is an Air Mass?\\n\\nPer Research Team:\\n\\n* Direct students to Lesson 5 in their Science Notebooks to find the following information:\\n * Lesson 5, Activity 1: Wind Table Instructions and Questions\\n * Lesson 5, Activity 2: Additional Weather Station Data\\n * Lesson 5, Activity 2: Weather Stations 7 pm Readings\\n * Lesson 5, Activity 2: Weather Stations 7 pm Interpolated\\n * Lesson 5, Activity 2: 7 pm Weather Station Data and 7 pm Radar Map\\n * Lesson 5, Activity 2: 7 am Weather Station Data \\n\\nPer Class:\\n\\n* Set up on one demonstration table that students can gather around: a wind fan, a piece of paper with a wind rose taped to the table, and a single weather vane. See below for a top-down view. \\n\\n\\n\\n* To print the wind rose, click [here](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg) to download. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10260-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 5.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10261-Embeddable::EmbeddablePlugin" - }, - "section": null } ] }, @@ -209,8 +137,8 @@ "name": "What is an air mass?", "position": 3, "show_header": true, - "show_info_assessment": true, - "show_interactive": false, + "show_info_assessment": false, + "show_interactive": true, "show_sidebar": false, "sidebar": null, "sidebar_title": "Did you know?", @@ -218,11 +146,11 @@ "embeddables": [ { "embeddable": { - "content": "

    Measuring Wind with the Compass 

    \n

    One way wind direction can be measured is with a weather vane or air socks. When the wind blows, the weather vane rotates and lines up with the path the air is flowing. So, wind direction is determined by what direction the wind is blowing and measured in degrees (°).

    \n

    \"\"

    \n

    In this activity, you will use a Wind Table to map the movement of air on a grid representing a region in Alaska. Go to your Science Notebooks, Lesson 5, page 21, for further instructions and to record your observations.

    \n

    Wind Table

    \n

    \n

     

    ", + "content": "

    In this activity, you will see how wind blowing from two directions interacts on a Wind Table. Please watch the video below for a demonstration on how a Wind Table maps the movement of air on a gird representing a region of Alaska.

    \r\n

    Wind Table

    \r\n

    \r\n

     

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Wind Table", "type": "Embeddable::Xhtml", "ref_id": "147906-Embeddable::Xhtml" }, @@ -230,51 +158,85 @@ }, { "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"\\n###Activity 1 - **What is an Air Mass?**\\nIn this activity students explore the patterns of air movement within and between air masses. Using a hands-on “wind table,” they engage in a tangible interaction with wind. By leveraging patterns from the previous activity dataset and the wind table, they will discover that when two air masses meet, the air converges. Weather scientists refer to these regions as fronts. \\n\\n###Wind Table Directions\\n * **1.Introduce the Wind Table.** Wind is one of the first things that atmospheric scientists look at when investigating the weather, but it can be difficult to understand by just looking at data and maps. A hands-on model is helpful to investigate a phenomenon like the wind.\\n\\n\\n * **2.Assign teams:** Assign research teams a Wind Table position number, either #1 or #2. \\n * **3.Wind tunnel position:** Have students place wind tunnel #1 and wind tunnel #2 according to the diagram in their Science Notebook for their assigned Team #.\\n * **4.Reminders:** Read over the things to keep in mind on page 21 in the Science Notebook, together as a class:\\n * **BE CAREFUL NOT TO PUT YOUR FINGERS NEAR THE FAN**\\n * Graph paper represents a region.\\n * A wind vane can be placed anywhere on the graph paper to determine what direction the wind is coming from.\\n * Record the wind direction by drawing an arrow in the direction the wind vane is pointing. (Recall that wind is always recorded showing the direction the wind is coming from.) If there is not a clear determination where the wind is coming from, then leave the square blank.\\n * Place a Styrofoam ball on the wind table to see the interaction between the two air masses.\\n * **5.Analyze air mass interactions** \\n\\n * Once all of the groups have finished mapping the wind direction, ask the students to determine the boundary of the two air masses by drawing a circle around the different air masses. \\n\\n * Ask the students if there was anywhere on the grid that they either had trouble deciding what direction to draw their arrow. Some students might remark that the wind vane wobbles or spins in the region between the two distinct air masses. Instruct the students to identify the diagonal region between the two air masses and circle this area with a green marker. \\n\\n* **6.Connecting the Wind Table to the interpolated map.** Ask students to compare Alaska Weather Stations: 7 pm Interpolated data with the wind map they created on their Wind Table. Lead a class conversation. See possible Discussion Points below. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, + "name": "Mr. Nyhard's Wind Table Demonstration", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10262-Embeddable::EmbeddablePlugin" + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2188-ManagedInteractive", + "linked_interactives": [] }, - "section": null - }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144777, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Defining Wind Direction", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ { "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Mass Properties \\n\\nTo a weather scientist, an air mass is a body of air with similar temperature and air moisture content. (Note that scientists also include pressure, but pressure is not covered in this unit.)\\n\\n###Wind Table Demonstration \\nThe compass rose describes the direction the wind is blowing in degrees. Wind coming directly from the South has a direction of 180°, from the East 90°, from the North 360°, etc. Place the fan to the “North” of the weather vane and turn it on. Move the weather vane so that it's at the center of the rose and have students read the wind direction from the rose. Then, move the fan to other locations. Ask students where you should move the fan to get a wind direction of, for example, 180°, 90°, 45°, etc. Move the fan to check their predictions. \\n\\n**Teacher Note:** Wind direction is determined by what direction the wind is coming from. This is a consequence of how it is measured. A weather scientist says, “winds coming from the northeast” not “winds heading southwest.” This distinction becomes very important when trying to map the flow of air over a region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, + "content": "

    Wind direction is often measured with a weather vane or an air sock. When the wind blows, the weather vane rotates and lines up with the path that the air is flowing. So, wind direction is determined by what direction the wind is coming from. It is measured in degrees (°).

    \r\n

    \"\"

    ", + "is_callout": true, "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10263-Embeddable::EmbeddablePlugin" + "is_hidden": false, + "name": "Measuring Wind Direction", + "type": "Embeddable::Xhtml", + "ref_id": "149273-Embeddable::Xhtml" }, - "section": null + "section": "header_block" } ] }, @@ -286,7 +248,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "What is an air mass? (cont.)", - "position": 4, + "position": 5, "show_header": true, "show_info_assessment": true, "show_interactive": true, @@ -297,11 +259,62 @@ "embeddables": [ { "embeddable": { - "content": "

    IDENTIFYING AIR MASSES

    \r\n

    In Lesson 5 of your Science Notebook on pages 21-23, you have additional data weather station data and maps that show you the direction of the wind. On page 22, you will find a map that shows you the 7 pm reading from the additional weather stations. The arrows on the map represent the wind direction. The data on page 23 of your Science Notebook, \"Weather Stations 7 pm Interpolated\" comes from an interpolation of wind direction across the mainland of Alaska at 7 pm. See map below. Using the map on page 23, draw a line that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. It is your job to determine where you see that change in the wind direction.

    \r\n

    Strategy for Identifying Two Air Masses:

    \r\n

    1. Make Sense of the Map: 
           • Look at each row and see if the arrows change direction as you move across the row. 
           • Look at each column and see if the arrows change direction as you move down the column. 
    2. Identify where you are going to place your line. 
    3. Draw your line on your paper map.

    ", + "name": "Wind Direction and Air Masses", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2246-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    The arrows on the model below represent the wind direction at each location.  Your challenge using this model is to identify the two air masses and mark a line of cells that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. 

    \r\n

    Remember to click Startup and Run. Then,

    \r\n
      \r\n
    • Use gray color to mark where the front is located
    • \r\n
    • Use blue to mark air mass 1
    • \r\n
    • Use red color to mark air mass 2
    • \r\n
    \r\n

    You can check your work at any time.

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Identifying Air Masses", "type": "Embeddable::Xhtml", "ref_id": "147907-Embeddable::Xhtml" }, @@ -309,18 +322,52 @@ }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, "name": "", - "prediction_feedback": "", - "prompt": "

    Why did you draw the line there?

    ", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why did you draw the line of the front where you did?

    \"}", + "is_hidden": false, + "is_full_width": true, "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208885-Embeddable::OpenResponse" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2244-ManagedInteractive", + "linked_interactives": [] }, "section": null }, @@ -343,7 +390,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4.html", + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4-new.html", "type": "MwInteractive", "ref_id": "97692-MwInteractive", "linked_interactives": [] @@ -360,7 +407,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "What is an air mass? (cont.)", - "position": 5, + "position": 6, "show_header": true, "show_info_assessment": true, "show_interactive": false, @@ -371,11 +418,11 @@ "embeddables": [ { "embeddable": { - "content": "

    The line that you drew across your map represents a boundary between two air masses. An air mass is a body of air with similar temperature and air moisture content. Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an air moisture content number at the bottom of the square.

    \n

    ", + "content": "

    Now that you have identified the air masses, lets discuss what an air mass actually is.

    \r\n

    An air mass is a body of air with similar temperature and air moisture content.

    \r\n

    Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an air moisture content number at the bottom of the square.

    \r\n

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Air Mass Definition ", "type": "Embeddable::Xhtml", "ref_id": "147908-Embeddable::Xhtml" }, @@ -383,145 +430,217 @@ }, { "embeddable": { - "content": "

    Develop a way to define the two air masses using the temperature and air moisture content values provided on the Alaskan Stations: Interpolated at 7 pm Map.

    \r\n

    \r\n

    Defined Air Masses for the Alaska Mainland at 7 pm

    ", + "content": "

    Develop a way to identify the two air masses using temperature and air moisture content values provided on the map you just colored.

    \r\n

    \"Air

    ", "is_callout": true, "is_full_width": true, "is_hidden": false, - "name": "DEFINING AIR MASSES", + "name": "Identifying Air Masses", "type": "Embeddable::Xhtml", - "ref_id": "147909-Embeddable::Xhtml" + "ref_id": "149276-Embeddable::Xhtml" }, "section": null }, { "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, + "name": "Air Masses Properties 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"correct\":true,\"content\":\"Colder\"},{\"id\":\"2\",\"content\":\"Warmer\",\"correct\":false}],\"prompt\":\"

    Temperature: Compare Air Mass #1 to Air Mass #2.

    \\n

    Air Mass 1 is:

    \",\"enableCheckAnswer\":true}", "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "

    Air Mass #1 Properties

    \r\n

    Temperature: Compare Air Mass #1 to Air Mass #2.

    \r\n

    Air Mass #1 is:

    ", - "show_as_menu": false, + "is_full_width": true, "show_in_featured_question_report": true, - "choices": [ - { - "choice": "colder", - "is_correct": false, - "prompt": "" - }, - { - "choice": "warmer", - "is_correct": false, - "prompt": "" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } - ], - "type": "Embeddable::MultipleChoice", - "ref_id": "17140-Embeddable::MultipleChoice" + }, + "type": "ManagedInteractive", + "ref_id": "2248-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, + "name": "Air Masses Properties 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"Warmer\",\"correct\":true},{\"id\":\"2\",\"content\":\"Colder\",\"correct\":false}],\"prompt\":\"

    Temperature: Compare Air Mass #2 to Air Mass #1.\\r

    \\n

    \\rAir Mass #2 over land is:

    \",\"enableCheckAnswer\":true}", "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "

    \r\n

    Air moisture: Compare Air Mass #1 to Air Mass #2.

    \r\n

    Air Mass #1 is:

    ", - "show_as_menu": false, + "is_full_width": true, "show_in_featured_question_report": true, - "choices": [ - { - "choice": "more moist", - "is_correct": false, - "prompt": "" - }, - { - "choice": "more dry", - "is_correct": false, - "prompt": "" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } - ], - "type": "Embeddable::MultipleChoice", - "ref_id": "17141-Embeddable::MultipleChoice" + }, + "type": "ManagedInteractive", + "ref_id": "2249-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, + "name": "Air Masses Properties 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"More moist\",\"correct\":true},{\"id\":\"2\",\"content\":\"More dry\",\"correct\":false}],\"prompt\":\"

    Air moisture: Compare Air Mass #1 to Air Mass #2.
    Air Mass #1 is:

    \",\"hint\":\"\",\"enableCheckAnswer\":true}", "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "

    Air Mass #2 Properties

    \r\n

    Temperature: Compare Air Mass #2 to Air Mass #1.

    \r\n

    Air Mass #2 over land is:

    ", - "show_as_menu": false, + "is_full_width": true, "show_in_featured_question_report": true, - "choices": [ - { - "choice": "colder", - "is_correct": false, - "prompt": "" - }, - { - "choice": "warmer", - "is_correct": false, - "prompt": "" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } - ], - "type": "Embeddable::MultipleChoice", - "ref_id": "17142-Embeddable::MultipleChoice" + }, + "type": "ManagedInteractive", + "ref_id": "2250-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "custom": false, - "enable_check_answer": false, - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, + "name": "Air Masses Properties 4", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"More moist\",\"correct\":false},{\"id\":\"2\",\"content\":\"More dry\",\"correct\":true}],\"prompt\":\"

    Air moisture: Compare Air Mass #2 to Air Mass #1.

    \\n

    Air Mass #2 is:

    \",\"enableCheckAnswer\":true}", "is_hidden": false, - "is_prediction": false, - "layout": "vertical", - "multi_answer": false, - "name": "Multiple Choice Question element", - "prediction_feedback": "", - "prompt": "

    \"\"

    \r\n

    Air moisture: Compare Air Mass #2 to Air Mass #1.

    \r\n

    Air Mass #2 is:

    ", - "show_as_menu": false, + "is_full_width": true, "show_in_featured_question_report": true, - "choices": [ - { - "choice": "more moist", - "is_correct": false, - "prompt": "" - }, - { - "choice": "more dry", - "is_correct": false, - "prompt": "" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } - ], - "type": "Embeddable::MultipleChoice", - "ref_id": "17143-Embeddable::MultipleChoice" + }, + "type": "ManagedInteractive", + "ref_id": "2256-ManagedInteractive", + "linked_interactives": [] }, "section": null } @@ -535,7 +654,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "Two air masses colliding", - "position": 6, + "position": 7, "show_header": true, "show_info_assessment": true, "show_interactive": false, @@ -546,11 +665,11 @@ "embeddables": [ { "embeddable": { - "content": "

    Fronts

    \n

    The region between two different air masses is called a front. Weather scientists are very interested in fronts because they are where the weather can change. Sometimes this change is very sudden.

    ", - "is_callout": false, + "content": "

    Remember, the region between two different air masses is called a front. Weather scientists are very interested in fronts because they are where the weather can change. Sometimes this change is very sudden.

    ", + "is_callout": true, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Activity at the Fronts", "type": "Embeddable::Xhtml", "ref_id": "147910-Embeddable::Xhtml" }, @@ -558,11 +677,11 @@ }, { "embeddable": { - "content": "

    Go to page 24 in your Science Notebook and compare the 7 pm interpolated map and the 7 pm radar map.

    \r\n

    \"\"

    \r\n

    Discuss with your research team and write a general statement that answers the question, “How do air masses affect where it rains?\"  

    \r\n

     

    ", + "content": "

    Compare the 7 pm interpolated map and the 7 pm radar map.

    \r\n

    \"\"

    \r\n

    Comparing these maps think about how air masses affect where it rains.

    \r\n

     

    ", "is_callout": true, "is_full_width": true, "is_hidden": false, - "name": "TASK", + "name": "Comparing Weather Data", "type": "Embeddable::Xhtml", "ref_id": "147911-Embeddable::Xhtml" }, @@ -570,28 +689,62 @@ }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "

    • Where is the front? Where is it raining? How do they compare?
    • How does the location of the precipitation on the radar map compare to the warm air mass, the cold air mass, and the front?
    • What is the air like where it is raining?

    ", - "is_full_width": true, + "name": "Thinking about Where Rain Will Occur", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It rains across the front making a cross shape.\",\"correct\":false},{\"id\":\"2\",\"content\":\"It rains away from the front.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It rains on the warm side of the front.\",\"correct\":true},{\"content\":\"It rains on the cold side of the front.\",\"correct\":false,\"id\":\"5a069223-5be8-4ee2-9006-b0e79fcb950a\"}],\"prompt\":\"

    How does a front affect where it rains?

    \",\"enableCheckAnswer\":true}", "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    How do air masses affect where it rains?

    ", + "is_full_width": true, "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208886-Embeddable::OpenResponse" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2257-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "content": "

    Go to page 25 in your Science Notebook and work with you research team to make a prediction for where you think it could rain at 7 am by drawing on the 7 am weather station map in your notebook.

    \r\n

    \r\n

    Alaska Stations: Interpolated at 7 am

    ", + "content": "

    The weather map below shows wind direction, temperature, and air moisture, but not precipitation. Look at this data and think about where raining would most likely occur.

    \r\n

    \r\n

    Alaska Stations: Interpolated at 7 am

    ", "is_callout": true, "is_full_width": true, "is_hidden": false, - "name": "TASK", + "name": "Applying Your Knowledge", "type": "Embeddable::Xhtml", "ref_id": "147912-Embeddable::Xhtml" }, @@ -599,42 +752,52 @@ }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, + "name": "Making a Prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Use what you have just learned about fronts and where it rains along fronts to predict where it will rain at 7am based on this map. List the coordinate cell where you think it will rain (for example, B-7, D-5, etc.). Describe what makes you think it will rain in those locations.

    \"}", "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    Explain why you think it could rain in the area you selected.

    ", + "is_full_width": true, "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208887-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Identifying Air Masses\\n\\nPossible discussion questions:\\n\\n* How do we identify air masses? (Responses should center on temperature, moisture and wind direction.)\\n\\n* What have you learned about the wind?\\n\\n* What questions do you still have?\\n\\n* Why do you think the wind is important in understanding the weather?\\n\\n• Are there any connections between the location of the air masses, fronts and precipitation? \\n\\n• Why do you think it is raining in some places and not others?\\n\\n**Teacher note:** Because air is invisible, students tend to have a lot of misconceptions about it. For example, the idea that air is a substance that can move is central to this lesson. It is easy to assume that students understand this concept when they may not. Asking probing questions can help bring their preconceptions to the forefront. The wind table will help students by giving them a concrete experience.\\n\\n###Describing the Front\\n\\n**Teacher note:** Student responses should be in terms of the actual movement of air and not just wind directions. The front is a particularly important area as students should identify it as a place where warm and cold air from the two air masses is coming together or mixing. Students will need a solid understanding of this concept as it will be revisited in the next lesson when they look at how fronts move over a region. \\n\\n###What is Happening at the Front\\n\\n**Teacher Note:** Students will likely notice that there is precipitation outside the area of the front and there are areas along the front that don’t show precipitation. Make note of these discrepancies and remind them that, as we have seen before, we may not have all of the information to explain everything that we see. Some of their observations will be addressed in Lesson 5.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10264-Embeddable::EmbeddablePlugin" + "type": "ManagedInteractive", + "ref_id": "2258-ManagedInteractive", + "linked_interactives": [] }, "section": null } @@ -648,7 +811,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "Two air masses colliding (cont.)", - "position": 7, + "position": 8, "show_header": true, "show_info_assessment": true, "show_interactive": false, @@ -659,7 +822,7 @@ "embeddables": [ { "embeddable": { - "content": "

    You have made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am. The radar image shows where it was actually raining at 7 am.

    \n

    \n

    Radar Image for 7 am

    ", + "content": "

    On the previous page, you made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am below. The radar image shows where it was actually raining at 7 am.

    \r\n

    \r\n

    Radar Image for 7 am

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -671,35 +834,52 @@ }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, + "name": "Comparing Your Prediction to the Data", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How accurate was your prediction? Explain.

    \"}", "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    How accurate was your prediction?

    ", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208888-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    Look back at your original rule for the question, “How do air masses affect where it rains?” Using what you learned with the 7 am data, revise your rule.

    ", "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208889-Embeddable::OpenResponse" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2262-ManagedInteractive", + "linked_interactives": [] }, "section": null } @@ -713,7 +893,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "Air masses and precipitation", - "position": 8, + "position": 9, "show_header": true, "show_info_assessment": true, "show_interactive": true, @@ -748,141 +928,103 @@ }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    Describe the position of the front, and explain how you know this.

    \r\n

    You may use city names as landmarks.

    ", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208890-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "

    • Look at the temperature values for Air Mass 1 and Air Mass 2
    • Look at the moisture values for Air Mass 1 and Air Mass 2

    ", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    What are the conditions in the model that result in precipitation happening along a front?

    ", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208891-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "

    • Is the precipitation happening more on the colder side of the front?
    • Is the precipitation happening more on the warmer side of the front?

    ", - "is_full_width": true, + "name": "Conditions for Precipitation - 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are the conditions in the model that result in precipitation happening along a front?

    \"}", "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    Describe specifically where the precipitation happens within the front.

    ", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208892-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "

    Make sure to use precise language and include both temperature and moisture values.

    ", "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    Finalize your rule statement for “How do air masses affect where it rains?”

    ", "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208893-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 3 - How Do Air Masses Affect Precipitation? Virtual Model\\n\\n**Objective:** To build students’ rule refinement skills by experimenting with a model to figure out its built-in weather rules. In this model, precipitation falls under a variety of conditions that can be set by changing temperatures and moisture for two air masses. \\n\\nStudents can vary the temperature and moisture of two air masses in order to better understand how interacting air masses create patterns of rain at a front. Through this process, students will come up with an even more robust rule for predicting rain that involves interacting air masses. The specific computational thinking practice highlighted and practiced in this activity is **Rule Refinement**.\\n\\n**1. Class discussion about air mass properties.**Use the Alaska Weather Stations: 7am Interpolated map! [](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg) to remind students of the properties of the air masses in their regional weather system. See Discussion Points below for possible prompts. \\n\\n**2. Set up the model challenge.** \\n\\n* Have students recall the rule they developed to answer the question “How do air masses affect where it rains?” \\n\\n* Students will use the Lesson 5 virtual model to help refine their rule.\\n\\n**3. Exploring the Virtual Model.** \\n\\nIntroduce the task, and give students time to explore the model. Then let them tell you what they discovered. They may notice:\\n\\n * The properties of the incoming air can be changed using the sliders on the left and bottom.\\n\\n * The direction of the wind can be seen with arrows and trails that can be turned on or off.\\n\\n * Precipitation appears as green circles with bigger circles meaning heavier rain.\\n\\n * Color of arrows correspond to temperature (Red = Warm, Blue = Cold, Purple = In Between)\\n\\n * Size of arrows correspond to air moisture (Small = dry, Large = moist or humid)\\n\\nYou may want to point out that\\n\\n * Even though the air in the model moves, the model shows airflow for a certain time. Time does not change.\\n\\n**4. Experiment with the Model to find the Rule**\\n\\nTell students that this model has a built-in rule for precipitation made by the model’s programmer. Students’ challenge is to discover the rule by experimenting with the model. \\n\\n * Students may find it helpful to express their experiments comparing warmer or colder temperatures and moister or drier moisture values instead of specific temperatures or air moisture values.\\n\\n * Give students time to play with the model and record their understanding of the model rule design in the questions that follow.\\n\\nNOTE: This is a fairly sophisticated weather model. Don’t expect that students will discover the full precipitation rule. However, students should discover that the front runs up from the southwestern corner through Bethel and Anchorage with one air mass coming down from the northwest and the other up from the south and southwest. They may discover that generally, precipitation occurs along the front if there is a difference in temperature between the two air masses, and tends to form on the warmer side of the front. Although not always true, students will also see that precipitation forms other places than at the front. If the air masses are quite dry they may not produce precipitation. On the other hand, the warmer the air, the more moisture it can hold before precipitation appears. Very warm air can hold a lot of moisture producing a humid day without any rain.\\n\\nIf students are having trouble making rain, have them try a more systematic approach where they vary just one slider a step at a time to see the effect on precipitation. Be sure they know they have to wait a little while to see the effect of a change as the settings only affect the entering wind. Refreshing the screen by pressing Setup is often helpful. The point of this exercise is to see how well students can react to data and test as many options as possible. How deep is their thinking?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10265-Embeddable::EmbeddablePlugin" + "type": "ManagedInteractive", + "ref_id": "2266-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"After students have completed the questions on this page, project the model for the class, if possible. Ask students to discuss what they noticed about the model and what they learned from experimenting with it. The model is complex so there can be many viewpoints. The objective of this is to have students feel that they can learn from the model themselves. All observations are valid and up for discussion.\\n\\nPossible topics for discussion:\\n* It may be most valuable to discuss the questions student's answered on this page. An extended discussion could come from the question below.\\n\\n* What do the sizes and colors of the wind arrowheads mean? (The redder the warmer; the bluer the cooler; the larger the more moist; and the smaller the drier.)\\n\\n* Does precipitation fall only near the front? (No, it can fall where the arrowheads converge or come closer together.)\\n\\n* If the south settings and the west setting are the same, is there a front? (No, but the air may still converge.)\\n\\n* Do you see precipitation even where there is no front? What is a rule for it forming? (This is a little hard to figure out. By setting a high moisture level and then scanning through the temperatures, students can see that there are some intermediate temperatures that produce a lot of precipitation. At high temperatures, the air holds a lot of moisture; at low temperature the air holds little moisture.)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Not all weather models are perfect. After trying this model out, which settings show rain matching the rule you have learned about fronts and precipitation? Please describe.

    \"}", "is_hidden": false, "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10266-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video to learn how students will use the Lesson 5 Virtual Model to test and refine their rule for, \\\"How do air masses affect precipitation?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: How Do Air Masses Affect Precipitation?, 2020, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10267-Embeddable::EmbeddablePlugin" + "type": "ManagedInteractive", + "ref_id": "2265-ManagedInteractive", + "linked_interactives": [] }, "section": null }, @@ -914,6 +1056,88 @@ } ] }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144874, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 10, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Heather Mase, bush pilot, in Naknek, Alaska. She dicusses the importance and use of wind direction data to help her plan her flights.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149277-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Perspective of a Bush Pilot", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4\",\"credit\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2254-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, { "additional_sections": {}, "embeddable_display_mode": "stacked", @@ -922,7 +1146,7 @@ "is_hidden": false, "layout": "l-full-width", "name": "Quiz", - "position": 9, + "position": 11, "show_header": true, "show_info_assessment": true, "show_interactive": false, @@ -970,7 +1194,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1021,7 +1245,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1072,7 +1296,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1123,7 +1347,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1174,7 +1398,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -1203,12 +1427,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144868, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 12, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json index 92a43abd..878c62b9 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json @@ -142,7 +142,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -193,7 +193,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -222,12 +222,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144909, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json index 00152041..56db57a9 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json @@ -142,7 +142,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -193,7 +193,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -222,12 +222,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144908, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 2, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6.json b/src/public/offline-activities/precipitating-change-v4/lesson-6.json index d83568d1..5ed5cffb 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-6.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6.json @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -106,7 +106,7 @@ "name": "Opening", "position": 2, "show_header": true, - "show_info_assessment": true, + "show_info_assessment": false, "show_interactive": false, "show_sidebar": false, "sidebar": null, @@ -115,87 +115,15 @@ "embeddables": [ { "embeddable": { - "content": "

    How do fronts move?

    \n

    Over the last couple of weeks, you have been exploring different aspects of regional data. You are now ready to begin to apply all of that knowledge to the unit challenge: What will the weather be in Anchorage 24 hours from now?

    \n

    Use the resources from your past lessons to help inform your prediction. Go to page 28 in your Science Notebooks to review the Lesson 1, Weather Radar Maps for the Alaskan Region, to help you.

    \n

    \n

     

    ", + "content": "

    Where is the front going and how fast is the front moving?

    \r\n

    Throughout this unit you have been exploring different aspects of regional weather data. There is one more piece of information we need to figure out before you can make your final prediction for the unit challenge:

    \r\n

    What will the weather be in Anchorage 24 hours from now?

    \r\n

    \r\n

     

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "How do fronts move?", "type": "Embeddable::Xhtml", "ref_id": "147917-Embeddable::Xhtml" }, "section": "header_block" - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 6: MODELING FRONTS\\n**HOW DO FRONTS MOVE?**\\n\\nIn this lesson, students identify the location, direction, and rate of movement of the front. When warm and cold air masses collide, a front forms resulting in a change in weather. Fronts move across regions causing the local weather to change, sometimes suddenly. Scientists use models to predict changes in weather using the properties (temperature and moisture) of the air masses and their movement patterns. In this lesson, the focus shifts to how students can use the data to solve a problem and less on learning about the components of weather (as they did in Lessons 1 - 5). The understandings developed in this lesson support students in developing their predictions for the unit challenge in Lesson 7. \\n\\n**LEARNING GOALS**\\n\\nStudents will be able to:\\n\\n* Understand that air masses are constantly moving and their characteristics (temperature and moisture) change\\n\\n* Identify evidence of a front moving through a given location \\n\\n* Analyze the speed and direction of a front moving over a region from given data\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10269-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 2 class periods (1 hour and 30 minutes)\\n\\n**KEY ACTIVITIES:**\\nPre-Assessment: Lesson 6: What Do You Think? (10 mins)\\nActivity 1 - Where is the Front Going? (35 mins)\\n\\nActivity 2 - How Fast is the Front Moving? (45 mins)\\n\\n###MATERIALS AND SET-UP\\n\\nActivity 1 - Where is the Front Going?\\n\\nPer Research Team:\\n\\n* Tablet/laptop\\n\\n* Science Notebook\\n \\n * Front Visualizations at 11 am, 9 pm, and 7 am\\n\\n* Alaska Map Transparency\\n\\n* Straight edge (ruler)\\n\\n* Wet erase markers\\n\\n* Paper towels (for erasing)\\n\\nPer Class:\\n\\n* Water (for students to erase on their transparencies, if needed)\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10270-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 6.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson6_88.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10271-Embeddable::EmbeddablePlugin" - }, - "section": null } ] }, @@ -210,7 +138,7 @@ "position": 3, "show_header": true, "show_info_assessment": true, - "show_interactive": false, + "show_interactive": true, "show_sidebar": false, "sidebar": null, "sidebar_title": "Did you know?", @@ -218,11 +146,11 @@ "embeddables": [ { "embeddable": { - "content": "

    Watch the \"Lesson 6: Modeling Fronts\" video as a class and think about the question, \"Where is the front going?\" and “What do we need to know about the front to predict where it will be in the future?” 

    \n

    Using all the resources you have available to you, including your computational thinking skills, datasets, and the Virtual Model images showing the following time steps (11 am, 9 pm, and 7am), work with your research team to answer the question, \"In what direction is your front moving?\"

    \n

    \"\"

    ", - "is_callout": false, + "content": "

    Press Setup and Run on the model below. Watch as the arrows trace their path for 11am. Then do the same for 9pm and 7am. Take note of any differences you see between the times.

    ", + "is_callout": true, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Where is the front going?", "type": "Embeddable::Xhtml", "ref_id": "147918-Embeddable::Xhtml" }, @@ -230,109 +158,131 @@ }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, + "name": "Direction the Front Is Moving", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"North\",\"correct\":false},{\"id\":\"2\",\"content\":\"East\",\"correct\":false},{\"id\":\"3\",\"content\":\"South\",\"correct\":true},{\"content\":\"West\",\"correct\":false,\"id\":\"77337e25-5dfa-4c34-bfbd-04227e1ea9bb\"}],\"prompt\":\"

    Ultimately, in what direction is the front moving? (Hint: not the wind direction.)

    \",\"enableCheckAnswer\":true}", "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    In what direction is your front moving? Be as specific as you can.

    ", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208894-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    How do you know the front is moving in that direction?

    ", "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208895-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Activity 1 - Where is the Front Going?\\n\\nThe focus of this activity is to provide students an opportunity to decompose a smaller challenge before they revisit the unit challenge in Lesson 7. In this activity, students use front visualizations from 11 am, 9 pm, and 7 am to see where the air masses are colliding (i.e., the front) at different times and to track the direction of the front. The specific computational thinking skills highlighted and practiced in this activity are **Decomposition**, **Pattern Recognition**, and **Model Evaluation**.\\n\\n###Activity Breakdown\\n\\n1.Play the Lesson 6 Virtual Model tutorial.\\n\\n2.Research teams use the Front Visualizations in their Science Notebooks and the Alaska Map Transparency to describe the direction the front is moving.\\n\\n3.In the student online activity, teams summarize their findings for the direction the front is moving within the region.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10272-Embeddable::EmbeddablePlugin" + "type": "ManagedInteractive", + "ref_id": "2183-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Where is the Front Going? Strategy Tips \\nThe intention of this task is to provide students with a more open-ended task than seen in Lessons 1 - 4 and to give them an opportunity to apply their CT skills before solving the unit challenge. It is important that students work independently. The goal is to see if students can decompose the mini front challenge on their own. Additionally, this shift in perspective gives the students agency in their own learning to identify which CT skills are key to addressing this question. Students should realize that they know how to identify a front from Lesson 4, and have data at their disposal that can help them figure out the location of the front is at different points in time. Ideally, they will decompose “how the front moves” into two components: direction (which way it is heading) and speed (distance/time). Please see a list of possible discussion prompts to guide students through this process:\\n\\n\\n* Remind students that they learned how to identify a front in the last lesson, and that fronts can be an indicator of complex weather. \\n\\n* Point out that the unit challenge is to make a decision on if they are to continue, cancel, or postpone the Native Youth Olympics (NYO Games) and explain to them that figuring out where this front will be in 24 hours can help improve their prediction.\\n\\n* Raise the question: What do we need to know about the front to predict where it will be in the future? \\n\\n* Ask the research teams to:\\n\\n * Think about the question and brainstorm their ideas as a group.\\n * Identify the computational thinking skills they think will help them address this challenge. \\n\\n * Identify what features in the Virtual Model would help them answer this question. \\n * Identify what data they have from Lessons 1 - 5 that would help them answer this question.\\n* Have research teams answer the online activity questions.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, + "name": "Describing Front Direction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Because at 11am the red lines are moving to the north so the front is moving north.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Because at 7am the blue lines are moving to the East so the front is moving east.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Because at 11 am the blue and red lines collide near Norvik and go closer to Utqiagvik, but at 7am they collide closer to Fairbanks. This means the front is moving South.\",\"correct\":true},{\"content\":\"Because at 7am almost all of the wind is coming from the west so the front is moving to the west.\",\"correct\":false,\"id\":\"f5c297cc-ea8a-4837-ac4b-bc3c174ee66f\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do you know the front is moving in that direction?

    \"}", "is_hidden": false, "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10273-Embeddable::EmbeddablePlugin" + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2184-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Show this video to your students before directing them to page 29 in their Science Notebooks and have students answer the question, \\\"Where is the front going?\\\" Students will then use the transparency and the Virtual Model maps of the front from 11 am, 9 pm, and 7 am on pages 30-32 to determine how fast the front is moving. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials - Modeling Fronts.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson6WhereistheFrontGoing.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10274-Embeddable::EmbeddablePlugin" + "is_hidden": false, + "model_library_url": null, + "name": "Fronts Moving in Time", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson6-1-v1.html", + "type": "MwInteractive", + "ref_id": "97811-MwInteractive", + "linked_interactives": [] }, - "section": null + "section": "interactive_box" } ] }, @@ -347,7 +297,7 @@ "position": 4, "show_header": true, "show_info_assessment": true, - "show_interactive": false, + "show_interactive": true, "show_sidebar": false, "sidebar": null, "sidebar_title": "Did you know?", @@ -355,11 +305,11 @@ "embeddables": [ { "embeddable": { - "content": "

    Now that you and your research team have figured out which way the front is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it’s going to pass through there. Where the front is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the weather.

    \n

    To best predict where the front will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance over time). Once you know both speed and direction (from Activity 1) of the front, your weather analysis will help you answer the question “How fast is the front moving?”

    \n

    You will have the following tools to help you:

    \n

    • Your front images from the Virtual Model
    • A regional map transparency
    • Rulers and pens

    ", + "content": "

    Now that you have figured out which way the front is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it’s going to pass through there. Where the front is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the weather.

    \r\n

    To best predict where the front will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance divided by time). Once you know both speed and direction of the front, your weather analysis will help you answer the question, “Will it be raining in Anchorage?”

    \r\n

    The model below allows you to mark the fronts at three times and measure the distance between them. With the time and distance data you can calculate the approximate speed of the front and then calculate where it will be 24 hours after the last measurement. To do this you can use the tools built into this model.

    \r\n

    First, mark the fronts.

    \r\n

    • Click Setup and Run and see where the front forms. (Once the front has formed click Run again to turn it off.) See Mr. Neyhard's video for help.
    • Click Draw Line and use the mouse to mark the front. (Be sure the mouse stays inside the map while dragging.)  
    • You can always start over by clicking Clear Last Line or Clear All Lines
    • Repeat this for 9pm and 7am. You can turn Run off or click Setup again if the map gets too dark.

    \r\n

    Second, measure the distance between fronts.

    \r\n

    • Turn off Run and click show-distance?. Now, lines that you draw will show their length in kilometers. (You can click Setup to see the map more clearly.)
    • Draw a line from one front to the other to measure the distance between them. Start near Fairbanks because the front there will be close to where it will cross Anchorage. Do this for the distance between the first and second front and the second and third front.

    \r\n

    Third, calculate the speed of the front. See Mr. Neyhard's video for help.

    \r\n

    • Each set of data is separated by 10 hours.  
    • Divide the distance between the top and middle front by 10 to get the speed in kilometers per hour.
    • Divide the distance between the middle and bottom front by 10 to get the speed in kilometers per hour.
    • Average the two speeds by adding them together and then divide by 2.

    \r\n

    Finally, calculate the location of the front 24 hours later.

    \r\n

    • Mutliply the average speed by 24 hours to predict where it will be on April 23 at 7am.  
    • Will the front be on top of Anchorage? Should the NYO Games go on as planned?

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Calculating the Speed of the Front and Making a Prediction", "type": "Embeddable::Xhtml", "ref_id": "147919-Embeddable::Xhtml" }, @@ -367,188 +317,245 @@ }, { "embeddable": { - "content": "

    Using the available materials, develop a strategy for calculating the rate of the front. Remember that speed equals distance an object moves divided by the time it takes the object to move to its new location.

    \r\n

                             Speed = Distance/Time

    ", - "is_callout": true, - "is_full_width": true, + "name": "Measured distances", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    You have marked three fronts. Please answer the following three questions:

    \\n

    (1) What distance did you measure between the fronts at April 21, 11am, and April 21, 9pm?

    \\n

    (2) What distance did you measure between the fronts at April 21, 9pm and April 22, 7am?

    \\n

    (3) What is the average distance between the fronts?

    \"}", "is_hidden": false, - "name": "TASK ", - "type": "Embeddable::Xhtml", - "ref_id": "147920-Embeddable::Xhtml" - }, - "section": null - }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "

    • Your answer should be a rate or speed.

    \r\n

    • Speed is a measurement of distance over time.

    \r\n

    • Distance can be measured in units of kilometers, miles, etc.

    \r\n

    • Time can be measured in hours, days, etc.

    ", "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    How fast is the front moving? Be as specific as you can.

    ", "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208896-Embeddable::OpenResponse" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2217-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "

    • Explain your strategy.

    \r\n

    • Talk about what you did to come up with your answer.

    ", - "is_full_width": true, + "name": "Speed of the front", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How fast is the front moving in kilometers per hour? Please show your calculation.

    \"}", "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    Describe how your team figured out how fast the front is moving.

    ", + "is_full_width": true, "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208897-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - How Fast is the Front Moving?\\n\\nThe focus of this activity is for students to analyze the visualization data they generated in Activity 1 and to develop a statement defining the speed of the front moving across the region. The activity ends with research teams developing a description of how fast the front is moving and recording it in the student online activity. The specific computational thinking practice highlighted and practiced in this activity is **Pattern Recognition**.\\n\\n
    **1. Calculate the speed the front is moving.**\\n\\n* Pass out to the research teams their Science Notebooks with the front visualizations, Regional Map Transparency, wet erase markers, paper towels, and rulers. \\n\\n* Students may also want to use the [L1A2: Alaska Weather Station Data Sheet](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1A2_WeatherStationDataAK.png) and the [L4A1: Alaska Additional Weather Stations handouts](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4A1_AdditionalWeatherStationsDataSheet_AK.png). \\n\\n* The primary challenge for students will be deciding where on the front to use as a reference point when measuring the distance that it moves from timestamp to timestamp. Here are some possible suggestions to help the students with this:\\n\\n * Use a ruler to draw a straight line that approximates the middle of the front.\\n\\n * If the front is curved, choose an area that is generally straight.\\n\\n * Encourage students to be consistent, i.e., choose the same reference point every time.\\n\\n**2. Create an analysis statement.** Students use their tools to analyze the movement of the front and develop an analysis statement that summarizes the front movement. They record their statement in the student online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10275-Embeddable::EmbeddablePlugin" + "type": "ManagedInteractive", + "ref_id": "2218-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"The key to this activity is for students to mark up the Regional Map Transparency with the location of the front at each of the time steps that were captured in the visualizations. Once all the time steps are captured on one map (via a transparency marker), students can calculate the speed by measuring the distance between each location of the front and taking an average. Once they have an average distance the front moves and the amount of time between each front line, they can plug their number into a standard speed formula.\\n\\n
    Please see an example below of a final statement students will make after completing this activity:

    \\n**The front is moving from X to Y at a speed of Z.**

    \\n\\n\\n\\nStudents can use whatever terms make sense to them. For example, X can stand for “left,\\\" “upper left,\\\" or “Northwest.\\\" Speed can be in recorded in squares per hour, squares per every two hours, kilometers per hour, etc.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, + "name": "The main question", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How far did the front move in 24 hours after April 22, 7am? Please show your calculations. Is the front to the North, South, or on top of Anchorage on April 23 at 7am:

    \"}", "is_hidden": false, "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10276-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a higher resolution and requires a higher bandwidth to download. Please use the lower resolution/lower bandwidth video option below if you have trouble downloading this video.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/alaska-pilot-final.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true } }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10277-Embeddable::EmbeddablePlugin" + "type": "ManagedInteractive", + "ref_id": "2219-ManagedInteractive", + "linked_interactives": [] }, "section": null }, { "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Weather plays an important part of all of our lives. It is especially important when you are navigating the skies. Watch the video with your class to learn more about how Heather Mase, a pilot from Naknek, uses models to help her predict if it is safe to fly. Please note that this video has a lower resolution and should be used if you have trouble downloading the higher resolution video above.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska\\\" 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska-Pilot-Final-low-res.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, + "name": "Testing your prediction with the Reveal", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Click Run again and then Reveal April 23, am. Where is the front? Was your prediction correct? Please describe.

    \"}", "is_hidden": false, "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10278-Embeddable::EmbeddablePlugin" + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2220-ManagedInteractive", + "linked_interactives": [] }, "section": null - } - ] - }, - { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143692, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Quiz", - "position": 5, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [ + }, { "embeddable": { - "content": "

    Please answer this quiz of things learned in this lesson.

    ", - "is_callout": true, + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, "is_full_width": true, "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "148894-Embeddable::Xhtml" + "model_library_url": null, + "name": "Measuring the Movement of Fronts", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/lesson6-2.v1.html", + "type": "MwInteractive", + "ref_id": "97812-MwInteractive", + "linked_interactives": [] }, - "section": "header_block" + "section": "interactive_box" } ] }, { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144841, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 5, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-7.json b/src/public/offline-activities/precipitating-change-v4/lesson-7.json index 1ce40315..2478d010 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-7.json @@ -70,7 +70,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/video-player/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", "click_to_play": false, "click_to_play_prompt": null, "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", @@ -124,102 +124,6 @@ "ref_id": "147923-Embeddable::Xhtml" }, "section": "header_block" - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###LESSON 7: ANALYZING DATA AND MAKING A PREDICTION\\n\\n**What will the local weather be 24 hours from now?**\\n\\nIn this lesson, students revisit the unit challenge and the original question posted to them in Lesson 1, \\\"Should the NYO Games proceed as planned, be postponed or canceled?\\\" Students assume the role of weather forecasters and make a weather prediction for Anchorage on April 23 at 7 am using regional data and models they have been exploring throughout this unit. This lesson is the unit’s capstone experience. \\n\\n
    **LEARNING GOALS:**\\n\\nStudents will be able to:\\n\\n* Articulate how data is visualized from a historic weather event (i.e., temperature, precipitation, wind speed, and wind direction)\\n\\n* Analyze data from a historical weather dataset and provide a description/explanation of the weather event\\n\\n* Make a prediction of future weather using data and reasoning to support their claim\\n\\n* Apply the CT skills they have developed in their analysis of the weather event\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10285-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###IMPLEMENTATION TIME 3 class periods (135 minutes)\\n\\n**KEY ACTIVITIES:**\\n\\nActivity 1 - Reflecting on the Unit (45 mins)\\n\\nActivity 2 - Research Teams in Action(120 mins)\\n\\nConclusion (15 mins)\\n\\n\\n
    **MATERIALS AND SET-UP:**\\n\\nActivity 2 - Research Teams in Action\\n\\n* Student Presentation Template in [Keynote](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.key), [Google](https://docs.google.com/presentation/d/1nKIKQ8mAZTjG5u6_C4qGxXwOLRwVPt0-RYhOIqGKoK0/edit?usp=sharing/?target=_blank), or [Powerpoint](https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Lesson7WeatherForecastTemplate.pptx)\\n\\n* Actual weather in Anchorage on day of event: Moderate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain.\\n\\nTemperature: 43°F/6.1°C\\nWind: 280°\\nPrecipitation: none\\n\\n* [Virtual Model](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) to display where the front will be at the time of the NYO games. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"!Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10286-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a lower resolution and requires a lower bandwidth and should be used if you have difficulty downloading the higher resolution/higher bandwidth option. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK. \",\"mediaURL\":\"https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10287-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"framing\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this video with your class to give students a perspective on the importance of weather and to build weather science career awareness. Please note that this video has a higher resolution and requires a higher bandwidth. If you have difficulty downloading this video use the lower bandwidth option.\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Purcell, Jackie. \\\"Lesson 7.\\\" 2019. Good Life Productions. Anchorage, AK.\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/ConcordAlaska7Final-low.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10288-Embeddable::EmbeddablePlugin" - }, - "section": null } ] }, @@ -252,88 +156,6 @@ }, "section": "header_block" }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": true, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    Which skill was the easiest to use? Please explain why.

    \r\n

    a)    Decomposition

    \r\n

    b)   Pattern Recognition

    \r\n

    c)   Interpolation

    \r\n

    d)   Extrapolation

    \r\n

    e)   Data Aggregation

    \r\n

    f)     Data Abstraction

    \r\n

    g)   Rule Abstraction

    \r\n

    h)   Model Evaluation

    \r\n

    i)     Rule Refinement

    \r\n

    j)     Data-based Prediction

    ", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208898-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": true, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    Which skill was the hardest to use? Please explain why?

    \r\n

    a)   Decomposition

    \r\n

    b)   Pattern Recognition

    \r\n

    c)   Interpolation

    \r\n

    d)   Extrapolation

    \r\n

    e)   Data Aggregation

    \r\n

    f)     Data Abstraction

    \r\n

    g)   Rule Abstraction

    \r\n

    h)   Model Evaluation

    \r\n

    i)     Rule Refinement

    \r\n

    j)     Data-based Prediction

    ", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208899-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1 - Reflecting on the Unit\\n\\nThe focus of this activity is for students to reflect upon all the computational thinking skills they developed over the unit. The specific computational thinking skill highlighted and practiced in this lesson is **Data-based Prediction**.\\n\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10289-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Synthesis Discussion\\n\\n* Introduce Data-based Prediction as the new CT skill used in this Lesson and discuss as a class using the prompts below: \\n\\n * How will you use this skill in this lesson?\\n\\n * How is your process for making your prediction different now in Lesson 7 than in Lesson 1?\\n\\n * Why do you think knowing this is important?\\n\\n* Review the Computational Thinking (CT) skills chart with your students and see if they can recall when they used the different skills throughout the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10290-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "name": "", @@ -361,7 +183,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -412,7 +234,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -467,35 +289,11 @@ }, "section": "header_block" }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"questionWrapper\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"\",\"teacherTip\":\"You may need to turn on Lesson 1 again if students don't remember what their prediction was on (page ?) in Lesson 1. \",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "questionWrapper", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10291-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    In Lesson 1, Activity 2 - Making a Prediction, what did you predict the weather will be at 7:00 am in Anchorage on April 23?

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    In Lesson 1, Page 5 - Making a Prediction, what did you predict the weather will be at 7:00 am in Anchorage on April 23?

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -518,7 +316,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/open-response/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -569,7 +367,7 @@ "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/multiple-choice/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -592,262 +390,17 @@ "linked_interactives": [] }, "section": null - } - ] - }, - { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143615, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Research Teams in Action", - "position": 5, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [ - { - "embeddable": { - "content": "

    Your team will produce up to a two-minute weather forecast. You may use the template provided or you may develop your own. In addition, each team needs to write a script or outline that explains your forecast. Include in your forecast the following:

    \n
      \n
    • Location of the front that you have been tracking
    • \n
    • Temperature
    • \n
    • Precipitation
    • \n
    • Wind Direction
    • \n
    • Decide to hold NYO or to cancel or postpone it due to bad weather preventing teams from flying into Anchorage
    • \n
    \n

    You can access the Student Presentation Template in Keynote, Google, or Powerpoint to prepare your forecast.

    \n

    You have additional resources to help you:

    \n
      \n
    • Weather Station Data (temperature, moisture content, and wind direction from 10 stations for every 2 hours)
    • \n
    • Radar Images (shows precipitation in the region every 6 hours)
    • \n
    • Rules for where precipitation is likely to occur
    • \n
    • Rules for how heavy precipitation is likely to be when it occurs
    • \n
    • Your model analysis statement of the speed and direction the front is moving
    • \n
    ", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147926-Embeddable::Xhtml" - }, - "section": "header_block" - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"**1. Guide student teams to complete their weather forecast.**\\n\\n**2. Reveal the actual weather for 7 am on the NYO Games day.**\\n\\nIf possible, project this [MODEL](https://models-resources.concord.org/precip-models/lesson-5-ak-v3.html) for your students. It is designed to easily show the progress of the front leading up to the NYO Games. It is designed to give your students a sense of completion with their work in this curriculum. It could also help frame a final discussion.\\n\\nThe model has wind data for 13 different days and times from the 10 Alaska weather stations. The drop-down menu, the slider, and the arrow buttons allow you to easily select the wind data in 2-hour intervals between April 21 at 7am to April 22 at 7 am. If you uncheck the \\\"wind-visible?\\\" and \\\"trails?\\\" features you can click through a 24 hour period to see how the wind changes at each station. Repeating this more slowly with one or both checkboxes set true, will show the progress of the front. Finally, press the Reveal button to see the wind at the beginning of the NYO Games. \\n\\nAlso, please see the **Anchorage weather report** below:\\nModerate to heavy rain passed through Anchorage around 10 pm the night before the event but it ended a little after midnight (12 am). At 7 am on April 23 the temperature in Anchorage was a little colder than the day before with winds out of the North-Northwest, but there was no rain. \\n\\n* Temperature: 43°F/6.1°C\\n* Wind: 280°\\n* Precipitation: none\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10292-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Students will be producing a weather forecast in this lesson. They will deciding to hold the Native Youth Olympics in Anchorage on April 23. Students could also recommend postponing NYO as well.\\n\\nStudents in their teams will be editing a presentation template or creating their own and will be develop a script or outline for the weather forecast to be presented to the class. Please see steps to guide students through the process below:\\n\\n1. Teams will edit the template for their forecast or create their own.\\n\\n2. Teams will write a script or outline to use in their forecast presentation.\\n\\n3. When the team is ready to present, project the presentation. \\n\\n4. As each team presents, video record the presentation.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10293-Embeddable::EmbeddablePlugin" - }, - "section": null - } - ] - }, - { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 143616, - "is_completion": false, - "is_hidden": false, - "layout": "l-full-width", - "name": "Quiz", - "position": 6, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [ - { - "embeddable": { - "content": "

    As a research team, reflect on your experience both in this lesson and the weather unit as a whole.

    ", - "is_callout": false, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "147927-Embeddable::Xhtml" - }, - "section": "header_block" - }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    Did your weather predictions get better at the end of the unit? Why or why not?

    ", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208901-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    Why do you think weather forecasters sometimes get weather predictions wrong?

    ", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208902-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    Imagine you could create your own computer weather model to make an even better weather prediction. What extra features would your model have? What could your model do?

    ", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208903-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "default_text": "", - "give_prediction_feedback": false, - "hint": "", - "is_full_width": true, - "is_hidden": false, - "is_prediction": false, - "name": "", - "prediction_feedback": "", - "prompt": "

    What other problems do you think you could use computational thinking to solve?

    ", - "show_in_featured_question_report": true, - "type": "Embeddable::OpenResponse", - "ref_id": "208904-Embeddable::OpenResponse" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Reflection on the computational thinking practices students learned throughout the unit. \\n\\n* Have a class discussion about computational thinking and weather. You can use the online activity questions as prompts:\\n\\n * Did your weather predictions get better at the end of the unit?\\n\\n * Why do you think weather forecasters sometimes get weather predictions wrong?\\n\\n * If you could have created your own computer weather model to make a better prediction, what else would you have your model do?\\n\\n * What other problems do you think you could use computational thinking to solve?\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10294-Embeddable::EmbeddablePlugin" - }, - "section": null - } - ] - }, - { - "additional_sections": {}, - "embeddable_display_mode": "stacked", - "id": 144656, - "is_completion": false, - "is_hidden": false, - "layout": "l-6040", - "name": "Presentation", - "position": 7, - "show_header": true, - "show_info_assessment": true, - "show_interactive": false, - "show_sidebar": false, - "sidebar": null, - "sidebar_title": "Did you know?", - "toggle_info_assessment": false, - "embeddables": [ - { - "embeddable": { - "content": "

    ", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "149053-Embeddable::Xhtml" - }, - "section": "header_block" - }, - { - "embeddable": { - "content": "

    ", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "", - "type": "Embeddable::Xhtml", - "ref_id": "149055-Embeddable::Xhtml" - }, - "section": "header_block" }, { "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{\"b74ab519-8aa4-47d3-999b-39455379f007\":{\"left\":203,\"top\":20},\"9645999f-9613-4843-9cda-cb216a1d39c2\":{\"left\":107,\"top\":113},\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\":{\"left\":202,\"top\":187}}},\"draggableItems\":[{\"id\":\"f6793037-7a87-445d-8772-9c9eb7855150\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"b74ab519-8aa4-47d3-999b-39455379f007\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"9645999f-9613-4843-9cda-cb216a1d39c2\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"f83a70e2-efee-4bba-a64e-1eef54f47478\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"8df99d36-e54c-4eb9-b403-ab6d9f1b84a4\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png\"}]}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What did you learn during this unit that helped you make a more accurate prediction.

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, + "custom_aspect_ratio_method": "DEFAULT", "inherit_native_width": true, "custom_native_width": 576, "inherit_native_height": true, @@ -861,44 +414,63 @@ "inherit_image_url": true, "custom_image_url": null, "library_interactive": { - "hash": "bc60f7570392901235434f601d724026a4e4c3b1", + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, - "description": "This shouldn't be used by any real activities it is still under development.", + "description": "", "enable_learner_state": true, "full_window": false, "has_report_url": false, "image_url": null, - "name": "Drag and Drop (master)", + "name": "Open Response", "native_height": 435, "native_width": 576, "no_snapshots": false, "show_delete_data_button": false, "thumbnail_url": "", - "customizable": false, + "customizable": true, "authorable": true } }, "type": "ManagedInteractive", - "ref_id": "2125-ManagedInteractive", + "ref_id": "2252-ManagedInteractive", "linked_interactives": [] }, "section": null - }, + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144656, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Presentation", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ { "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":800,\"canvasHeight\":500,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":1200,\"canvasHeight\":800,\"initialState\":{\"itemPositions\":{\"a058923a-4542-4e84-951c-e2f36b2c8251\":{\"left\":442,\"top\":-28},\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\":{\"left\":266,\"top\":-43},\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\":{\"left\":740,\"top\":-31},\"4310bd82-1a68-412e-9b07-53073da246a1\":{\"left\":588,\"top\":-35},\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\":{\"left\":103,\"top\":-38},\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\":{\"left\":779,\"top\":71}}},\"draggableItems\":[{\"id\":\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"4310bd82-1a68-412e-9b07-53073da246a1\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"a058923a-4542-4e84-951c-e2f36b2c8251\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png\"},{\"id\":\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/lineforprediction.png\"}],\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\",\"prompt\":\"

    FINAL STEP!!! Show us what the weather will be on April 23rd at 7am!!!

    \\n

    Drag the icon that fits your prediction of the weather over Anchorage during the NYO games. Also drag the yellow line to show where the front is during the time of the games.

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": null, + "custom_aspect_ratio_method": "DEFAULT", "inherit_native_width": true, "custom_native_width": 576, "inherit_native_height": true, @@ -912,39 +484,39 @@ "inherit_image_url": true, "custom_image_url": null, "library_interactive": { - "hash": "bc60f7570392901235434f601d724026a4e4c3b1", + "hash": "a309b989c0cff0915fe71fcdf16dd116a6231c9b", "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/drag-and-drop/", "click_to_play": false, "click_to_play_prompt": null, - "description": "This shouldn't be used by any real activities it is still under development.", + "description": "", "enable_learner_state": true, "full_window": false, "has_report_url": false, "image_url": null, - "name": "Drag and Drop (master)", + "name": "Drag and Drop", "native_height": 435, "native_width": 576, "no_snapshots": false, - "show_delete_data_button": false, + "show_delete_data_button": true, "thumbnail_url": "", - "customizable": false, + "customizable": true, "authorable": true } }, "type": "ManagedInteractive", - "ref_id": "2126-ManagedInteractive", + "ref_id": "2221-ManagedInteractive", "linked_interactives": [] }, - "section": null + "section": "header_block" }, { "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"

    Drag following items:

    \",\"canvasWidth\":330,\"canvasHeight\":300,\"initialState\":{\"itemPositions\":{}},\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did you decide to hold NYO or to cancel or postpone it due to bad weather preventing teams from flying into Anchorage? Explain your reasoning including the temperature, precipitation, and wind direction that you predict will happen in Anchorage.

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -963,11 +535,11 @@ "inherit_image_url": true, "custom_image_url": null, "library_interactive": { - "hash": "a309b989c0cff0915fe71fcdf16dd116a6231c9b", + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.1.0/drag-and-drop/", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", "click_to_play": false, "click_to_play_prompt": null, "description": "", @@ -975,18 +547,18 @@ "full_window": false, "has_report_url": false, "image_url": null, - "name": "Drag and Drop", + "name": "Open Response", "native_height": 435, "native_width": 576, "no_snapshots": false, - "show_delete_data_button": true, + "show_delete_data_button": false, "thumbnail_url": "", "customizable": true, "authorable": true } }, "type": "ManagedInteractive", - "ref_id": "2127-ManagedInteractive", + "ref_id": "2224-ManagedInteractive", "linked_interactives": [] }, "section": null @@ -996,12 +568,12 @@ { "additional_sections": {}, "embeddable_display_mode": "stacked", - "id": 308577, + "id": 144869, "is_completion": true, "is_hidden": false, "layout": "l-6040", - "name": "Completion Page", - "position": 9, + "name": "Show My Work", + "position": 6, "show_header": false, "show_info_assessment": false, "show_interactive": false, diff --git a/src/public/offline-manifests/precipitating-change-v4.json b/src/public/offline-manifests/precipitating-change-v4.json index 7c862013..879bb29f 100644 --- a/src/public/offline-manifests/precipitating-change-v4.json +++ b/src/public/offline-manifests/precipitating-change-v4.json @@ -3,152 +3,106 @@ "activities": [ { "name": "Interview - Predicting the Weather Without the Weather Channel", - "contentUrl": "offline-activities/precipitating-change-v3/interview.json", + "contentUrl": "offline-activities/precipitating-change-v4/interview.json", "resourceUrl": "https://authoring.concord.org/activities/11559" }, { "name": "Lesson 1: Making an Initial Prediction", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-1.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-1.json", "resourceUrl": "https://authoring.concord.org/activities/11501" }, { "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-1-post.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-1-post.json", "resourceUrl": "https://authoring.concord.org/activities/11630" }, { "name": "Lesson 2: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-2-pre.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-2-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11565" }, { "name": "Lesson 2: Displaying Temperature Data ", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-2.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-2.json", "resourceUrl": "https://authoring.concord.org/activities/11526" }, { "name": "Lesson 2: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-2-post.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-2-post.json", "resourceUrl": "https://authoring.concord.org/activities/11581" }, { "name": " Lesson 3: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-3-pre.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-3-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11583" }, { "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-3.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-3.json", "resourceUrl": "https://authoring.concord.org/activities/11582" }, { "name": " Lesson 3: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-3-post.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-3-post.json", "resourceUrl": "https://authoring.concord.org/activities/11584" }, { "name": "Lesson 4: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-4-pre.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-4-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11586" }, { "name": "Lesson 4: Building Rules", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-4.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-4.json", "resourceUrl": "https://authoring.concord.org/activities/11585" }, { "name": "Lesson 4: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-4-post.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-4-post.json", "resourceUrl": "https://authoring.concord.org/activities/11587" }, { "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-5-pre.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-5-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11593" }, { "name": "Lesson 5: Identifying Air Masses", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-5.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-5.json", "resourceUrl": "https://authoring.concord.org/activities/11588" }, { "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-5-post.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-5-post.json", "resourceUrl": "https://authoring.concord.org/activities/11595" }, { "name": "Lesson 6: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-6-pre.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-6-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11590" }, { "name": "Lesson 6: Modeling Fronts", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-6.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-6.json", "resourceUrl": "https://authoring.concord.org/activities/11589" }, { "name": "Lesson 6: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-6-post.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-6-post.json", "resourceUrl": "https://authoring.concord.org/activities/11591" }, { "name": "Lesson 7: Analyzing Data and Making a Prediction", - "contentUrl": "offline-activities/precipitating-change-v3/lesson-7.json", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-7.json", "resourceUrl": "https://authoring.concord.org/activities/11592" } ], "cacheList": [ - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaska-Pilot-Final-low-res.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/ConcordAlaska7Final-low.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/FrontVisualizations.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel2.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L4_ACT1_Alaska%20Weather%20Stations_7am%20Interpolated.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5AirMasses1and2.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson6WhereistheFrontGoing.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20Virtual%20Storm%20Student%20Guide.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/alaska-pilot-final.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson1_88_Captioned.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson2_88_Captioned.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson3_88_Captioned.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson4_88_Captioned.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson5_88_Captioned.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", @@ -157,39 +111,17 @@ "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/heart2.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/DatabasedPrediction.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ModelEvaluation.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleAbstraction.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/RuleRefinement.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/air_moisture_fog-high.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/ct-decomposition.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/exptrapolation.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/interpolation.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/pattern-recognition.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/precipitation.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/weather.jpg", @@ -204,9 +136,6 @@ "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage2.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Sage4.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Diggiynetritiy_He_broke_it.mp3", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", @@ -216,32 +145,14 @@ "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Atthabaskan/Vitotuq_between_middle.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/How_is_the_weather_Ngieghndadzdixeta.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/I_am_going_to_use_this_patttern_Gon%20ghoghoy_yigidighoy_axa_ditast%27e%C5%82.%20.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It%27s%20snowing_Iyoth.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/It_snows_during_the_winter_Xiyhtuxiyoth.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Pattern_Ghoghoyyigidighoy.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_South_wind_is_starting_to_blow_Edodzxandithitriyh.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/The_fog_is_thick_Getiyeqngichox.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/There_is_too_much_fog_Getiyeqxelanh.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_Is_it_doing_outside_Ngieghndadzdixeta16.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/What_is_next_Ndadzchenh.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/Wind_is_coming_from_the_west_Dongthedzxidetriyh.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/between_middle_Vitotuq.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/inuit/middle_Xivitotuq.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/L7instructionsscale.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/lineforprediction.png", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/weather_forecasting_tools.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AK-3-maps-interpolation.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKABCinterpolationtemp.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKlinearinterpolation.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images/AKweightedneigborinterpolation.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/AbstractionMovie.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/Aggregation.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/PatternRecognition.mp4", @@ -249,79 +160,59 @@ "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/moisture-amount.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/precipitation_snow.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/weather-movie.mp4", - "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_555555_256x240.png", - "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", - "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_ffffff_256x240.png", - "https://fonts.googleapis.com/css?family=Lato", - "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", - "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", - "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", - "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Jackie80.mp4", - "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson2_88.mp4", - "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson3_88.mp4", - "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson4_88.mp4", - "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson5_88.mp4", - "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/JackieLesson6_88.mp4", - "https://precipitatingchange-resources.concord.org/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", - "https://precipitatingchange-resources.concord.org/images/3-drop-black-staggered.png", "https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4.html", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Intro.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/PC%20Lesson%201%20Pg%201.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4-new.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson6-1-v1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/lesson6-2.v1.html", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/Temp-Moisture-Key.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", - "models-resources/precip-models/ak-base-map-with-rose.png", - "models-resources/precip-models/ak-w-cities.png", "models-resources/precip-models/lesson-4-ak-v3.html", "models-resources/precip-models/precip-rule-ak-v5.html", - "models-resources/question-interactives/version/v1.1.0/drag-and-drop/", - "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.css", - "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.js", - "models-resources/question-interactives/version/v1.1.0/carousel/", - "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.css", - "models-resources/question-interactives/version/v1.1.0/carousel/assets/index.43fd80fcbaa142f3b07e.js", - "models-resources/question-interactives/version/v1.1.0/drag-and-drop/", - "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.css", - "models-resources/question-interactives/version/v1.1.0/drag-and-drop/assets/index.43fd80fcbaa142f3b07e.js", - "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/", - "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.css", - "models-resources/question-interactives/version/v1.1.0/fill-in-the-blank/assets/index.43fd80fcbaa142f3b07e.js", - "models-resources/question-interactives/version/v1.1.0/image/", - "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.css", - "models-resources/question-interactives/version/v1.1.0/image/assets/index.43fd80fcbaa142f3b07e.js", - "models-resources/question-interactives/version/v1.1.0/multiple-choice/", - "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.css", - "models-resources/question-interactives/version/v1.1.0/multiple-choice/assets/index.43fd80fcbaa142f3b07e.js", - "models-resources/question-interactives/version/v1.1.0/open-response/", - "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.css", - "models-resources/question-interactives/version/v1.1.0/open-response/assets/index.43fd80fcbaa142f3b07e.js", - "models-resources/question-interactives/version/v1.1.0/video-player/", - "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.css", - "models-resources/question-interactives/version/v1.1.0/video-player/assets/index.43fd80fcbaa142f3b07e.js", + "models-resources/question-interactives/version/v0.6.1/image/", "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/", - "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.css", - "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", "models-resources/question-interactives/version/v1.2.0-pre.1/image/", - "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.css", - "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/", "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" ] -} +} \ No newline at end of file From f4a5147b0a87d5b7cc0024ba1680326acf8c6c81 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Thu, 1 Apr 2021 18:12:51 -0400 Subject: [PATCH 201/242] update script so it updates manifest of plugins too --- src/scripts/update-offline-manifest.config.ts | 3 ++- src/scripts/update-offline-manifest.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/scripts/update-offline-manifest.config.ts b/src/scripts/update-offline-manifest.config.ts index 9281a70a..08a3e3b0 100644 --- a/src/scripts/update-offline-manifest.config.ts +++ b/src/scripts/update-offline-manifest.config.ts @@ -3,7 +3,8 @@ export const config = { glossary: { s3Url: "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", - pluginUrl: "https://glossary-plugin.concord.org/branch/177305115-add-language-switcher/plugin.js" + pluginUrl: "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + manifestUrl: "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json" }, questionInteractives: { version: "v1.2.0-pre.1" diff --git a/src/scripts/update-offline-manifest.ts b/src/scripts/update-offline-manifest.ts index 45e4de83..7bcf45bf 100644 --- a/src/scripts/update-offline-manifest.ts +++ b/src/scripts/update-offline-manifest.ts @@ -133,6 +133,7 @@ const updateActivityUrls = (activity: Activity) => { authorData.s3Url = config.glossary.s3Url; plugin.author_data = JSON.stringify(authorData); plugin.approved_script.url = config.glossary.pluginUrl; + plugin.approved_script.json_url = config.glossary.manifestUrl; } return plugin; }); @@ -223,4 +224,3 @@ const main = async () => { }; main(); - From faca9fbb0f4dbf396fb97e4be4b35828196c9132 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Thu, 1 Apr 2021 23:29:09 -0400 Subject: [PATCH 202/242] switch to cloudfront urls this was done by running scripts on the LARA server and the re-running the update-offline-manifest script --- .../precipitating-change-v4/interview.json | 4 +- .../precipitating-change-v4/lesson-1.json | 18 +-- .../lesson-2-post.json | 2 +- .../precipitating-change-v4/lesson-2-pre.json | 2 +- .../precipitating-change-v4/lesson-2.json | 36 ++--- .../lesson-3-post.json | 2 +- .../precipitating-change-v4/lesson-3-pre.json | 2 +- .../precipitating-change-v4/lesson-3.json | 16 +-- .../lesson-4-post.json | 4 +- .../precipitating-change-v4/lesson-4-pre.json | 4 +- .../precipitating-change-v4/lesson-4.json | 16 +-- .../lesson-5-post.json | 2 +- .../precipitating-change-v4/lesson-5-pre.json | 2 +- .../precipitating-change-v4/lesson-5.json | 24 ++-- .../lesson-6-post.json | 2 +- .../precipitating-change-v4/lesson-6-pre.json | 2 +- .../precipitating-change-v4/lesson-6.json | 8 +- .../precipitating-change-v4/lesson-7.json | 6 +- .../precipitating-change-v4.json | 126 +++++++++--------- 19 files changed, 139 insertions(+), 139 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v4/interview.json b/src/public/offline-activities/precipitating-change-v4/interview.json index 7f8131ff..036e5080 100644 --- a/src/public/offline-activities/precipitating-change-v4/interview.json +++ b/src/public/offline-activities/precipitating-change-v4/interview.json @@ -35,7 +35,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png\"}", + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png\"}", "is_hidden": true, "is_full_width": false, "show_in_featured_question_report": true, @@ -98,7 +98,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png\"}", + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png\"}", "is_hidden": false, "is_full_width": false, "show_in_featured_question_report": true, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-1.json b/src/public/offline-activities/precipitating-change-v4/lesson-1.json index be1abcea..6c3825cf 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-1.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-1.json @@ -47,7 +47,7 @@ "embeddable": { "name": "Jackie Purcell - Lesson 1", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -129,7 +129,7 @@ "embeddable": { "name": "Mr. Neyhard's Introduction", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -211,7 +211,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -293,7 +293,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\",\"highResUrl\":\"https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png\"}", + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png\",\"highResUrl\":\"https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -344,7 +344,7 @@ "embeddable": { "name": "Reading Weather Forcasts", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -509,7 +509,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Sunshine\",\"correct\":false},{\"id\":\"2\",\"content\":\"Snow\",\"correct\":false},{\"id\":\"3\",\"content\":\"Rain\",\"correct\":true}],\"prompt\":\"

    What does the symbol on Tuesday mean?

    \\n

    \",\"enableCheckAnswer\":true}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Sunshine\",\"correct\":false},{\"id\":\"2\",\"content\":\"Snow\",\"correct\":false},{\"id\":\"3\",\"content\":\"Rain\",\"correct\":true}],\"prompt\":\"

    What does the symbol on Tuesday mean?

    \\n

    \",\"enableCheckAnswer\":true}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -630,7 +630,7 @@ "embeddable": { "name": "Data Dump Video", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -693,7 +693,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png\"}", + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -773,7 +773,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"

    Click through the radar images which provide precipitation changes for a 24-hour time period.

    \",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}]}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"

    Click through the radar images which provide precipitation changes for a 24-hour time period.

    \",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}]}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json index 6119ba2a..c0dc749f 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json @@ -33,7 +33,7 @@ "embeddables": [ { "embeddable": { - "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", + "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", "is_callout": false, "is_full_width": true, "is_hidden": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json index 175f17c4..91218b44 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json @@ -33,7 +33,7 @@ "embeddables": [ { "embeddable": { - "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", + "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", "is_callout": false, "is_full_width": true, "is_hidden": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2.json b/src/public/offline-activities/precipitating-change-v4/lesson-2.json index ada6e7b2..9fdc424c 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-2.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -129,7 +129,7 @@ "embeddable": { "name": "Holder for Kevin's video", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -403,7 +403,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-1.html", "type": "MwInteractive", "ref_id": "97687-MwInteractive", "linked_interactives": [] @@ -661,7 +661,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png\"}", + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-3-unknowns2.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -947,7 +947,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png\"}", + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-8-unknowns2.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -1027,7 +1027,7 @@ }, { "embeddable": { - "content": "

    \"\"

    \r\n

    For Square A, you may have guessed 54°F degrees or something very close to that. This is the simplest interpolation method. It is called Nearest Neighbor. With this method, you find the nearest weather station to the unknown point and assume it has a similar temperature.

    \r\n

     

    ", + "content": "

    \"\"

    \r\n

    For Square A, you may have guessed 54°F degrees or something very close to that. This is the simplest interpolation method. It is called Nearest Neighbor. With this method, you find the nearest weather station to the unknown point and assume it has a similar temperature.

    \r\n

     

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -1041,7 +1041,7 @@ "embeddable": { "name": "Mr. Neyhard's Introduction to Nearest Neighbor Interpolation", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -1160,7 +1160,7 @@ "embeddables": [ { "embeddable": { - "content": "

    \"\"

    \r\n

    For Square B, you may have guessed between 38°F and 50°F, but closer to 50°F. Since this square is between two known temperatures, the unknown temperature is probably between 38°F and 50°F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.

    \r\n

    \"Number

    \r\n

    This method is called Linear Interpolation.

    ", + "content": "

    \"\"

    \r\n

    For Square B, you may have guessed between 38°F and 50°F, but closer to 50°F. Since this square is between two known temperatures, the unknown temperature is probably between 38°F and 50°F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.

    \r\n

    \"Number

    \r\n

    This method is called Linear Interpolation.

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -1174,7 +1174,7 @@ "embeddable": { "name": "Linear Interpolation", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -1242,7 +1242,7 @@ "embeddables": [ { "embeddable": { - "content": "

    For Square C, the square is between other squares at 30°F, 48°F, and 50°F. You could average the three numbers and get approximately 43°F. Or you could try to be even more precise. The unknown square is closer to the 50°F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45°F or 46°F). This method is called Weighted Average Interpolation since we give more “weight” or influence to the closer stations.

    \r\n

    \"\"

    \r\n

     

    ", + "content": "

    For Square C, the square is between other squares at 30°F, 48°F, and 50°F. You could average the three numbers and get approximately 43°F. Or you could try to be even more precise. The unknown square is closer to the 50°F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45°F or 46°F). This method is called Weighted Average Interpolation since we give more “weight” or influence to the closer stations.

    \r\n

    \"\"

    \r\n

     

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -1256,7 +1256,7 @@ "embeddable": { "name": "Weighted Average Interpolation", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -1375,7 +1375,7 @@ "embeddables": [ { "embeddable": { - "content": "

    Each of the following maps used the same station data but a different data interpolation method:

    \r\n

    ", + "content": "

    Each of the following maps used the same station data but a different data interpolation method:

    \r\n

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -1653,7 +1653,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png\"}", + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-all-temps-no-color.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -1954,7 +1954,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", "type": "MwInteractive", "ref_id": "97688-MwInteractive", "linked_interactives": [] @@ -1965,7 +1965,7 @@ "embeddable": { "name": "Painting the Map", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -2098,7 +2098,7 @@ "embeddable": { "name": "Temperature Map at Three Times", "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png\"}", + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/AK-maps-at-3-times.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -2462,7 +2462,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", "type": "MwInteractive", "ref_id": "97689-MwInteractive", "linked_interactives": [] @@ -2723,7 +2723,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", "type": "MwInteractive", "ref_id": "97691-MwInteractive", "linked_interactives": [] diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json index 3b3334fd..df94d96e 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json @@ -33,7 +33,7 @@ "embeddables": [ { "embeddable": { - "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", + "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", "is_callout": false, "is_full_width": true, "is_hidden": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json index 40c1df72..fa739805 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json @@ -33,7 +33,7 @@ "embeddables": [ { "embeddable": { - "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", + "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", "is_callout": false, "is_full_width": true, "is_hidden": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3.json b/src/public/offline-activities/precipitating-change-v4/lesson-3.json index 561bcb48..7e231a0f 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -115,7 +115,7 @@ "embeddables": [ { "embeddable": { - "content": "

    Have you ever been caught without your parka or boots when you needed them? Predicting rain or snow is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.

    \r\n

    As weather scientists, you will continue to explore weather maps. Now, you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number). The larger this number is, the more moisture is contained in the air.

    \r\n

     

    \r\n

    Precipitation symbol = raindrops  \"\" 

    \r\n

     

    \r\n

    \"\"

    \r\n

     

    ", + "content": "

    Have you ever been caught without your parka or boots when you needed them? Predicting rain or snow is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.

    \r\n

    As weather scientists, you will continue to explore weather maps. Now, you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number). The larger this number is, the more moisture is contained in the air.

    \r\n

     

    \r\n

    Precipitation symbol = raindrops  \"\" 

    \r\n

     

    \r\n

    \"\"

    \r\n

     

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -129,7 +129,7 @@ "embeddable": { "name": "Introduction to Precipitation Model", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -197,7 +197,7 @@ "embeddables": [ { "embeddable": { - "content": "

    The map below shows the virtual storm that you have seen before. With the slider, you can see the storm at three times during one day. This map adds humidity and precipitation data to the temperature data. Combining related data is called data aggregation.

    \r\n

    Look at the temperature and humidity data that is close to where the precipitation falls. Watch how the precipitation moves through the three times. Does the other data move too? Can you see a pattern? 

    \r\n

    Precipitation is shown with three raindrops:  \"\" 

    \r\n

    The air moisture and temperature data are shown this way:\"\" 

    ", + "content": "

    The map below shows the virtual storm that you have seen before. With the slider, you can see the storm at three times during one day. This map adds humidity and precipitation data to the temperature data. Combining related data is called data aggregation.

    \r\n

    Look at the temperature and humidity data that is close to where the precipitation falls. Watch how the precipitation moves through the three times. Does the other data move too? Can you see a pattern? 

    \r\n

    Precipitation is shown with three raindrops:  \"\" 

    \r\n

    The air moisture and temperature data are shown this way:\"\" 

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -412,7 +412,7 @@ "embeddable": { "plugin": { "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"In this tutorial, you will learn how to guide students in using the virtual storm interactive to test the rules they have created. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials - Where does it rain virtual model?\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"In this tutorial, you will learn how to guide students in using the virtual storm interactive to test the rules they have created. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials - Where does it rain virtual model?\",\"mediaURL\":\"https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", "approved_script_label": "teacherEditionTips", "component_label": "windowShade", "approved_script": { @@ -514,7 +514,7 @@ "no_snapshots": true, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson3-1.v1.html", "type": "MwInteractive", "ref_id": "97738-MwInteractive", "linked_interactives": [] @@ -724,7 +724,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson3-1.v1.html", "type": "MwInteractive", "ref_id": "97739-MwInteractive", "linked_interactives": [] @@ -865,7 +865,7 @@ "embeddable": { "name": "Virtual Storm at 7 pm - No Precipitation Shown", "url_fragment": null, - "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png\"}", + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json index 9cdfbf84..b12d623c 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json @@ -33,7 +33,7 @@ "embeddables": [ { "embeddable": { - "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", + "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -71,7 +71,7 @@ "embeddable": { "plugin": { "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students’ own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk’s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students’ own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk’s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", "approved_script_label": "teacherEditionTips", "component_label": "windowShade", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json index f22fb97c..31f797bf 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json @@ -33,7 +33,7 @@ "embeddables": [ { "embeddable": { - "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", + "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -71,7 +71,7 @@ "embeddable": { "plugin": { "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students’ own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk’s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students’ own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk’s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", "approved_script_label": "teacherEditionTips", "component_label": "windowShade", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4.json b/src/public/offline-activities/precipitating-change-v4/lesson-4.json index eff66dd8..575c0a5b 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -115,7 +115,7 @@ "embeddables": [ { "embeddable": { - "content": "

    As weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.

    \n

    Example: This rule has two parts that must happen to have a certain result. If it was a [ very nice summer ] and if it is [ August ], then there will be [ lots of berries to pick ]. 

    \n

    \"\"

    \n

    Think about developing a similar statement that could be used to determine where it will rain.

    ", + "content": "

    As weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.

    \n

    Example: This rule has two parts that must happen to have a certain result. If it was a [ very nice summer ] and if it is [ August ], then there will be [ lots of berries to pick ]. 

    \n

    \"\"

    \n

    Think about developing a similar statement that could be used to determine where it will rain.

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -129,7 +129,7 @@ "embeddable": { "name": "Introduction to Computational Rules", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -209,7 +209,7 @@ }, { "embeddable": { - "content": "

    Using the following rule, which pair of grid squares (A, B, or C) will produce rain? 

    \r\n

    \"\"
    IF the upper square (the northwest square)  is colder than the lower square by [ 5 or more degrees ] AND IF the moisture of the lower square is [ 7 or more ] THEN it rains in the lower square.

    \r\n

     

    \r\n

    ", + "content": "

    Using the following rule, which pair of grid squares (A, B, or C) will produce rain? 

    \r\n

    \"\"
    IF the upper square (the northwest square)  is colder than the lower square by [ 5 or more degrees ] AND IF the moisture of the lower square is [ 7 or more ] THEN it rains in the lower square.

    \r\n

     

    \r\n

    ", "is_callout": true, "is_full_width": true, "is_hidden": false, @@ -395,7 +395,7 @@ "embeddable": { "name": "Rules Model Explanation", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -596,7 +596,7 @@ "embeddable": { "plugin": { "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Alaskan Native Thoughts on Climate Change\\\", The International Polar Year, Sep 2, 2008, Run Time:02:09, http://www.ipy.org/index.php?/ipy/multimedia/&view=1869\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4\"}}", + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Alaskan Native Thoughts on Climate Change\\\", The International Polar Year, Sep 2, 2008, Run Time:02:09, http://www.ipy.org/index.php?/ipy/multimedia/&view=1869\",\"mediaURL\":\"https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4\"}}", "approved_script_label": "teacherEditionTips", "component_label": "windowShade", "approved_script": { @@ -620,7 +620,7 @@ "embeddable": { "plugin": { "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Passport To Knowledge: Polar Palooza\\\", http://passporttoknowledge.com/polar-palooza/video/native01a.mp4\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4\"}}", + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Passport To Knowledge: Polar Palooza\\\", http://passporttoknowledge.com/polar-palooza/video/native01a.mp4\",\"mediaURL\":\"https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4\"}}", "approved_script_label": "teacherEditionTips", "component_label": "windowShade", "approved_script": { @@ -644,7 +644,7 @@ "embeddable": { "plugin": { "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this tutorial to learn how students will be interacting with the Virtual Model to test and refine their rule statements to answer the question, \\\"Where does it rain?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: Where Does It Rain?, 2019, The Concord Consortium\",\"mediaURL\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4\"}}", + "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this tutorial to learn how students will be interacting with the Virtual Model to test and refine their rule statements to answer the question, \\\"Where does it rain?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: Where Does It Rain?, 2019, The Concord Consortium\",\"mediaURL\":\"https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4\"}}", "approved_script_label": "teacherEditionTips", "component_label": "windowShade", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json index 9a7d283b..07b44ae3 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json @@ -33,7 +33,7 @@ "embeddables": [ { "embeddable": { - "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", + "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", "is_callout": false, "is_full_width": true, "is_hidden": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json index faaba130..6daf7c35 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json @@ -33,7 +33,7 @@ "embeddables": [ { "embeddable": { - "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", + "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", "is_callout": false, "is_full_width": true, "is_hidden": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5.json b/src/public/offline-activities/precipitating-change-v4/lesson-5.json index 3f0ce557..18956a0f 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-5.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -146,7 +146,7 @@ "embeddables": [ { "embeddable": { - "content": "

    In this activity, you will see how wind blowing from two directions interacts on a Wind Table. Please watch the video below for a demonstration on how a Wind Table maps the movement of air on a gird representing a region of Alaska.

    \r\n

    Wind Table

    \r\n

    \r\n

     

    ", + "content": "

    In this activity, you will see how wind blowing from two directions interacts on a Wind Table. Please watch the video below for a demonstration on how a Wind Table maps the movement of air on a gird representing a region of Alaska.

    \r\n

    Wind Table

    \r\n

    \r\n

     

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -160,7 +160,7 @@ "embeddable": { "name": "Mr. Nyhard's Wind Table Demonstration", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -228,7 +228,7 @@ "embeddables": [ { "embeddable": { - "content": "

    Wind direction is often measured with a weather vane or an air sock. When the wind blows, the weather vane rotates and lines up with the path that the air is flowing. So, wind direction is determined by what direction the wind is coming from. It is measured in degrees (°).

    \r\n

    \"\"

    ", + "content": "

    Wind direction is often measured with a weather vane or an air sock. When the wind blows, the weather vane rotates and lines up with the path that the air is flowing. So, wind direction is determined by what direction the wind is coming from. It is measured in degrees (°).

    \r\n

    \"\"

    ", "is_callout": true, "is_full_width": true, "is_hidden": false, @@ -261,7 +261,7 @@ "embeddable": { "name": "Wind Direction and Air Masses", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -390,7 +390,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4-new.html", + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson5-air-masses.v4-new.html", "type": "MwInteractive", "ref_id": "97692-MwInteractive", "linked_interactives": [] @@ -418,7 +418,7 @@ "embeddables": [ { "embeddable": { - "content": "

    Now that you have identified the air masses, lets discuss what an air mass actually is.

    \r\n

    An air mass is a body of air with similar temperature and air moisture content.

    \r\n

    Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an air moisture content number at the bottom of the square.

    \r\n

    ", + "content": "

    Now that you have identified the air masses, lets discuss what an air mass actually is.

    \r\n

    An air mass is a body of air with similar temperature and air moisture content.

    \r\n

    Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an air moisture content number at the bottom of the square.

    \r\n

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -430,7 +430,7 @@ }, { "embeddable": { - "content": "

    Develop a way to identify the two air masses using temperature and air moisture content values provided on the map you just colored.

    \r\n

    \"Air

    ", + "content": "

    Develop a way to identify the two air masses using temperature and air moisture content values provided on the map you just colored.

    \r\n

    \"Air

    ", "is_callout": true, "is_full_width": true, "is_hidden": false, @@ -677,7 +677,7 @@ }, { "embeddable": { - "content": "

    Compare the 7 pm interpolated map and the 7 pm radar map.

    \r\n

    \"\"

    \r\n

    Comparing these maps think about how air masses affect where it rains.

    \r\n

     

    ", + "content": "

    Compare the 7 pm interpolated map and the 7 pm radar map.

    \r\n

    \"\"

    \r\n

    Comparing these maps think about how air masses affect where it rains.

    \r\n

     

    ", "is_callout": true, "is_full_width": true, "is_hidden": false, @@ -740,7 +740,7 @@ }, { "embeddable": { - "content": "

    The weather map below shows wind direction, temperature, and air moisture, but not precipitation. Look at this data and think about where raining would most likely occur.

    \r\n

    \r\n

    Alaska Stations: Interpolated at 7 am

    ", + "content": "

    The weather map below shows wind direction, temperature, and air moisture, but not precipitation. Look at this data and think about where raining would most likely occur.

    \r\n

    \r\n

    Alaska Stations: Interpolated at 7 am

    ", "is_callout": true, "is_full_width": true, "is_hidden": false, @@ -822,7 +822,7 @@ "embeddables": [ { "embeddable": { - "content": "

    On the previous page, you made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am below. The radar image shows where it was actually raining at 7 am.

    \r\n

    \r\n

    Radar Image for 7 am

    ", + "content": "

    On the previous page, you made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am below. The radar image shows where it was actually raining at 7 am.

    \r\n

    \r\n

    Radar Image for 7 am

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -1089,7 +1089,7 @@ "embeddable": { "name": "Perspective of a Bush Pilot", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png\",\"videoUrl\":\"https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4\",\"credit\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4\",\"credit\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json index 878c62b9..42393fa5 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json @@ -33,7 +33,7 @@ "embeddables": [ { "embeddable": { - "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", + "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", "is_callout": false, "is_full_width": true, "is_hidden": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json index 56db57a9..1296fae2 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json @@ -33,7 +33,7 @@ "embeddables": [ { "embeddable": { - "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", + "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", "is_callout": false, "is_full_width": true, "is_hidden": false, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6.json b/src/public/offline-activities/precipitating-change-v4/lesson-6.json index 5ed5cffb..af165dd7 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-6.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -115,7 +115,7 @@ "embeddables": [ { "embeddable": { - "content": "

    Where is the front going and how fast is the front moving?

    \r\n

    Throughout this unit you have been exploring different aspects of regional weather data. There is one more piece of information we need to figure out before you can make your final prediction for the unit challenge:

    \r\n

    What will the weather be in Anchorage 24 hours from now?

    \r\n

    \r\n

     

    ", + "content": "

    Where is the front going and how fast is the front moving?

    \r\n

    Throughout this unit you have been exploring different aspects of regional weather data. There is one more piece of information we need to figure out before you can make your final prediction for the unit challenge:

    \r\n

    What will the weather be in Anchorage 24 hours from now?

    \r\n

    \r\n

     

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -277,7 +277,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson6-1-v1.html", + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson6-1-v1.html", "type": "MwInteractive", "ref_id": "97811-MwInteractive", "linked_interactives": [] @@ -538,7 +538,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/lesson6-2.v1.html", + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/lesson6-2.v1.html", "type": "MwInteractive", "ref_id": "97812-MwInteractive", "linked_interactives": [] diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-7.json b/src/public/offline-activities/precipitating-change-v4/lesson-7.json index 2478d010..e9322063 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-7.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4\",\"poster\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -146,7 +146,7 @@ "embeddables": [ { "embeddable": { - "content": "

    Throughout the Precipitating Change, you have been developing some computational thinking skills that real weather scientist use. Although we have not named the skill until now, notice in the table below the skills you have used to help decide if the NYO Games should proceed.

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    Definition Computational Thinking Skill
    \r\n

    Organizing a large amount of information (data) into smaller more manageable parts.

    \r\n
    \r\n

    Decomposition

    \r\n

    In Lesson 1, you organized weather station data over a two-day period and radar maps of Alaska every 6 hours to make a prediction.

    \r\n
    \r\n

    Recognizing that data or information is repeating in a logical (expected) way.

    \r\n
    \r\n

    Pattern Recognition

    \r\n

    In Lesson 2, you ran the model to see temperature data and patterns of data moving across the map. Before and after each run of the model, you interpolated data. You discovered that warm and cold spots on the map are at times on certain sides, and also you saw these spots change location over time.

    \r\n

    In Lesson 3 and 4, you ran the models to develop a general statement to answer the question \"Where does it rain?\".

    \r\n
    \r\n

    Estimating an unknown value based on surrounding information.

    \r\n
    \"\"\r\n

    Interpolation

    \r\n

    In Lesson 2, you made best guess estimates of the temperatures that were missing on the map.

    \r\n
    \r\n

    Following a pattern beyond the known data points.

    \r\n
    \r\n

    Extrapolation

    \r\n

    In Lesson 2, you predicted future weather based on patterns you observed in the changing temperatures you collected and visualized.

    \r\n
    \r\n

    Collecting and organizing data to better understand the topic.

    \r\n
    \r\n

    Data Aggregation

    \r\n

    In Lesson 2, you observed temperature data from a model and organized the data to see the “big picture”.

    \r\n
    \r\n

    Simplifying data to make it easier to interpret and find patterns.

    \r\n
    \r\n

    Data Abstraction

    \r\n

    In Lesson 2, you came up with a color scheme for temperature and changed how the data was represented from numbers to temperature categories, and then to colors.

    \r\n
    \r\n

    Developing a statement of how things work based on the patterns you observed.

    \r\n
    \r\n

    Rule Abstraction

    \r\n

    In Lesson 3, you made a generic statement to answer the question, \"Where does it rain?\".

    \r\n
    \r\n

    Looking at the big picture by putting all the components together in the model to see if it works.

    \r\n
    \r\n

    Model Evaluation

    \r\n

    In Lesson 4 and 5, you ran a model to determine whether a rule was still true in different situations.

    \r\n
    \r\n

    Modifying a rule to be more precise (exact, careful about details) to work in the model.

    \r\n
    \r\n

    Rule Refinement

    \r\n

    In Lesson 4 and 5, as you ran the model, you were able to test your rule statements and make changes based on the model.

    \r\n
    \r\n

    Forecast based on evidence about a future event.

    \r\n
    \r\n

    Data-based Prediction

    \r\n

    In Lesson 6, you selected data including temperature, air moisture and wind direction to help form a forecast about a future event.

    \r\n
    ", + "content": "

    Throughout the Precipitating Change, you have been developing some computational thinking skills that real weather scientist use. Although we have not named the skill until now, notice in the table below the skills you have used to help decide if the NYO Games should proceed.

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    Definition Computational Thinking Skill
    \r\n

    Organizing a large amount of information (data) into smaller more manageable parts.

    \r\n
    \r\n

    Decomposition

    \r\n

    In Lesson 1, you organized weather station data over a two-day period and radar maps of Alaska every 6 hours to make a prediction.

    \r\n
    \r\n

    Recognizing that data or information is repeating in a logical (expected) way.

    \r\n
    \r\n

    Pattern Recognition

    \r\n

    In Lesson 2, you ran the model to see temperature data and patterns of data moving across the map. Before and after each run of the model, you interpolated data. You discovered that warm and cold spots on the map are at times on certain sides, and also you saw these spots change location over time.

    \r\n

    In Lesson 3 and 4, you ran the models to develop a general statement to answer the question \"Where does it rain?\".

    \r\n
    \r\n

    Estimating an unknown value based on surrounding information.

    \r\n
    \"\"\r\n

    Interpolation

    \r\n

    In Lesson 2, you made best guess estimates of the temperatures that were missing on the map.

    \r\n
    \r\n

    Following a pattern beyond the known data points.

    \r\n
    \r\n

    Extrapolation

    \r\n

    In Lesson 2, you predicted future weather based on patterns you observed in the changing temperatures you collected and visualized.

    \r\n
    \r\n

    Collecting and organizing data to better understand the topic.

    \r\n
    \r\n

    Data Aggregation

    \r\n

    In Lesson 2, you observed temperature data from a model and organized the data to see the “big picture”.

    \r\n
    \r\n

    Simplifying data to make it easier to interpret and find patterns.

    \r\n
    \r\n

    Data Abstraction

    \r\n

    In Lesson 2, you came up with a color scheme for temperature and changed how the data was represented from numbers to temperature categories, and then to colors.

    \r\n
    \r\n

    Developing a statement of how things work based on the patterns you observed.

    \r\n
    \r\n

    Rule Abstraction

    \r\n

    In Lesson 3, you made a generic statement to answer the question, \"Where does it rain?\".

    \r\n
    \r\n

    Looking at the big picture by putting all the components together in the model to see if it works.

    \r\n
    \r\n

    Model Evaluation

    \r\n

    In Lesson 4 and 5, you ran a model to determine whether a rule was still true in different situations.

    \r\n
    \r\n

    Modifying a rule to be more precise (exact, careful about details) to work in the model.

    \r\n
    \r\n

    Rule Refinement

    \r\n

    In Lesson 4 and 5, as you ran the model, you were able to test your rule statements and make changes based on the model.

    \r\n
    \r\n

    Forecast based on evidence about a future event.

    \r\n
    \r\n

    Data-based Prediction

    \r\n

    In Lesson 6, you selected data including temperature, air moisture and wind direction to help form a forecast about a future event.

    \r\n
    ", "is_callout": false, "is_full_width": true, "is_hidden": false, @@ -465,7 +465,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":1200,\"canvasHeight\":800,\"initialState\":{\"itemPositions\":{\"a058923a-4542-4e84-951c-e2f36b2c8251\":{\"left\":442,\"top\":-28},\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\":{\"left\":266,\"top\":-43},\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\":{\"left\":740,\"top\":-31},\"4310bd82-1a68-412e-9b07-53073da246a1\":{\"left\":588,\"top\":-35},\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\":{\"left\":103,\"top\":-38},\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\":{\"left\":779,\"top\":71}}},\"draggableItems\":[{\"id\":\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"4310bd82-1a68-412e-9b07-53073da246a1\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"a058923a-4542-4e84-951c-e2f36b2c8251\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png\"},{\"id\":\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\",\"imageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/lineforprediction.png\"}],\"backgroundImageUrl\":\"https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png\",\"prompt\":\"

    FINAL STEP!!! Show us what the weather will be on April 23rd at 7am!!!

    \\n

    Drag the icon that fits your prediction of the weather over Anchorage during the NYO games. Also drag the yellow line to show where the front is during the time of the games.

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":1200,\"canvasHeight\":800,\"initialState\":{\"itemPositions\":{\"a058923a-4542-4e84-951c-e2f36b2c8251\":{\"left\":442,\"top\":-28},\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\":{\"left\":266,\"top\":-43},\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\":{\"left\":740,\"top\":-31},\"4310bd82-1a68-412e-9b07-53073da246a1\":{\"left\":588,\"top\":-35},\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\":{\"left\":103,\"top\":-38},\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\":{\"left\":779,\"top\":71}}},\"draggableItems\":[{\"id\":\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"4310bd82-1a68-412e-9b07-53073da246a1\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"a058923a-4542-4e84-951c-e2f36b2c8251\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/sun.png\"},{\"id\":\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/lineforprediction.png\"}],\"backgroundImageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/Move_the_line.png\",\"prompt\":\"

    FINAL STEP!!! Show us what the weather will be on April 23rd at 7am!!!

    \\n

    Drag the icon that fits your prediction of the weather over Anchorage during the NYO games. Also drag the yellow line to show where the front is during the time of the games.

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, diff --git a/src/public/offline-manifests/precipitating-change-v4.json b/src/public/offline-manifests/precipitating-change-v4.json index 879bb29f..6d398cb5 100644 --- a/src/public/offline-manifests/precipitating-change-v4.json +++ b/src/public/offline-manifests/precipitating-change-v4.json @@ -98,27 +98,6 @@ } ], "cacheList": [ - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/air_moisture_fog-high.jpg", @@ -145,14 +124,6 @@ "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/Move_the_line.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/clouds.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/cloudsandsun.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/lineforprediction.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/rain.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/snow.png", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/images-2021/PCL7images/sun.png", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/AbstractionMovie.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/Aggregation.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/PatternRecognition.mp4", @@ -166,40 +137,69 @@ "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", - "https://precipitatingchange-resources.concord.org/images/Morning+Image+-+Revised+v2.png", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-1.html", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson3-1.v1.html", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson5-air-masses.v4-new.html", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/Lesson6-1-v1.html", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Models-2021/lesson6-2.v1.html", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-maps-at-3-times.png", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-3-unknowns2.png", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-8-unknowns2.png", - "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-1.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson5-air-masses.v4-new.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson6-1-v1.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/lesson6-2.v1.html", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/images-2021/AK-maps-at-3-times.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/Move_the_line.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/clouds.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/cloudsandsun.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/lineforprediction.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/rain.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/snow.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/sun.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-3-unknowns2.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-8-unknowns2.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", + "https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png", "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", "models-resources/precip-models/lesson-4-ak-v3.html", From 6f5f128827171928e1b08df50b1404435ada8e75 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Thu, 1 Apr 2021 23:41:36 -0400 Subject: [PATCH 203/242] remove teacher edition this was done with an updated script --- .../lesson-2-post.json | 72 ----------- .../precipitating-change-v4/lesson-2-pre.json | 72 ----------- .../lesson-3-post.json | 72 ----------- .../precipitating-change-v4/lesson-3-pre.json | 72 ----------- .../precipitating-change-v4/lesson-3.json | 120 ------------------ .../lesson-4-post.json | 72 ----------- .../precipitating-change-v4/lesson-4-pre.json | 72 ----------- .../precipitating-change-v4/lesson-4.json | 120 ------------------ .../lesson-5-post.json | 72 ----------- .../precipitating-change-v4/lesson-5-pre.json | 72 ----------- .../lesson-6-post.json | 72 ----------- .../precipitating-change-v4/lesson-6-pre.json | 72 ----------- .../precipitating-change-v4.json | 8 +- src/scripts/update-offline-manifest.ts | 13 ++ 14 files changed, 14 insertions(+), 967 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json index c0dc749f..8f1bbf27 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2-post.json @@ -187,78 +187,6 @@ "ref_id": "17136-Embeddable::MultipleChoice" }, "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10226-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10227-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (It doesn’t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that “you’ve got to see it to believe it.” \\n\\nStudents who choose Kalin’s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what’s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there’s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n•\\t**Both Alex’s response (choose the value half way between)** and **Sage’s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex’s and/or Sage’s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n•\\t**Delana’s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana’s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10228-Embeddable::EmbeddablePlugin" - }, - "section": null } ] }, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json index 91218b44..398bafc5 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-2-pre.json @@ -187,78 +187,6 @@ "ref_id": "17135-Embeddable::MultipleChoice" }, "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10214-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10215-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (It doesn’t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that “you’ve got to see it to believe it.” \\n\\nStudents who choose Kalin’s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what’s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there’s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n•\\t**Both Alex’s response (choose the value half way between)** and **Sage’s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex’s and/or Sage’s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n•\\t**Delana’s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana’s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10216-Embeddable::EmbeddablePlugin" - }, - "section": null } ] }, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json index df94d96e..18a345ff 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3-post.json @@ -43,78 +43,6 @@ }, "section": "header_block" }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10240-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it’s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there’s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate – meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there’s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10241-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (39°)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin’s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39° as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n•\\t**Sage’s response (37°)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37° may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n•\\t**Delana’s response (43°)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43° cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana’s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46° and 51° measured temperature values, the 53° estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n•\\t**Alex’s response (53°)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana’s response above, if there were a weather front just to the east of the 46° and 51° observed temperature values, the 53° estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10242-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "name": "", diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json index fa739805..27c6c6cc 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3-pre.json @@ -43,78 +43,6 @@ }, "section": "header_block" }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 3, Opening: Which Estimates Should We Trust? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment implementation. After students make an individual choice for the pre-assessment, you can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10237-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n- Interpolation\\n- Extrapolation\\n- Pattern Recognition\\n- Data Aggregation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. Review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, that you scaffold students to focus on their own ideas about this problem, rather than on vocabulary terms such as **interpolation** and **extrapolation**. By discussing the different options, students can engage in productive talk related to these data sense making and computational thinking concepts without necessarily using technical terminology. During the ensuing lesson and the second implementation of the probe, the terms **interpolation** and **extrapolation** can be used, if appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation** and **extrapolation**. **Interpolation** means finding an estimation of a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). **Extrapolation** means finding or concluding something by assuming that existing trends will continue, or a current method will remain applicable beyond existing known values (that is, following a pattern beyond the known data points). \\n\\nInterpolation and extrapolation are similar, but because extrapolation involves estimating beyond the known data points, this approach is subject to greater uncertainty and has a higher risk of producing more imprecise or potentially even meaningless results compared with interpolation. \\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about extrapolation and interpolation of a specific, tangible weather problem (i.e., temperatures in a two-dimensional area at one point in time). While extrapolation is associated with higher levels of uncertainty, it’s also sometimes necessary. This is true, for example, for forecasting (prediction). Prediction of future weather will always involve extrapolation (i.e., extending the pattern of weather data into the future given that observed data cannot be obtained for the future until time passes and the future becomes the present!). Uncertainty associated with extrapolation is why there’s always some level of uncertainty in weather forecasts. Basically, this is why weather forecasts are sometimes wrong. There is always some uncertainty associated with interpolation too, though generally it is less so than with extrapolation.\\n\\nThis assessment also relates to **pattern recognition** and **data aggregation**. **Pattern recognition** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. Students employ **pattern recognition** in this assessment as they view the distribution of temperatures in the map grid and make sense of patterns and trends across the grid (in both observed and estimated values) to think about the question. **Data aggregation** involves determining the appropriate data to collect or generate in order to study the identified phenomenon. Students should consider more and less appropriate ways to aggregate data in the map grid as they figure out which response they think is best. For example, students should be think about which cells in the grid have enough data to estimate temperatures for from collected data, and which temperatures might be problematic to estimate – meaning we might need to collect more data to generate a good estimate for temperatures in those cells. \\n\\nWhile one of the responses makes the most sense from a practical standpoint for this particular problem, there’s no absolutely correct answer. Using an indefinite problem provides space for students to think and talk about how much confidence we can have in different interpolated and extrapolated values. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10238-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (39°)** suggests that he may not be differentiating between observed and estimated values. The values in parentheses are all estimated, so having other estimated values near the value that Kalin chooses would not necessarily make us more confident about Kalin’s choice. If there were additional observed values near the cell that Kalin chose, that would help boost our confidence. We can feel more confident about interpolated values for data the more observed data values we have for a given area. \\n\\nStudents who choose 39° as the most uncertain value could benefit from discussions about the difference between observed data points and estimated data points. Students can think about which types of values are more trustworthy and why (e.g., local conditions like elevation changes or water bodies could affect local values, making estimated temperatures less reliable than observed values). Students may come up with potential problems with observed values too (e.g., a faulty thermometer), which is fine. \\n\\n\\n###Middle Level\\n•\\t**Sage’s response (37°)** suggests that she may be thinking beyond interpolation to also consider weather processes (e.g., movement of air masses across Alaska). While that shows some good thinking, the values on the assessment probe map all represent one point in time, so we would be less concerned about air movement over time and issues like east versus west in Alaska for this particular problem. \\n\\nLater in the unit, students who chose 37° may benefit from discussions that emphasize the difference between interpolating data from known values at one point in time versus doing things like making predictions into the future across a two-dimensional area based on known information such as wind speed, wind direction, etc. \\n\\n\\n###Upper Middle Level\\n•\\t**Delana’s response (43°)** suggests that she understands that we can be more confident about estimates when we have observed values nearby. We should be less confident about interpolated data (there are many estimated values near the 43° cell) nearby in comparison with nearby observed data.\\n\\nWhile students who choose Delana’s response have useful ideas about confidence and interpolation, they could also benefit from some scaffolding to reason more deeply about interpolation versus extrapolation. Moving beyond the area of known data points (i.e., extrapolation) is generally associated with higher uncertainty compared with interpolation. For example, if there is a weather front just to the east of the 46° and 51° measured temperature values, the 53° estimated value could be quite different from what an actual observed measurement taken at that location would be. \\n\\n\\n###More Formal Idea\\n•\\t**Alex’s response (53°)** and rationale recognizes the problems associated with extrapolation beyond known data points. As described in the discussion of Delana’s response above, if there were a weather front just to the east of the 46° and 51° observed temperature values, the 53° estimated value could be quite different from what an actual observed measurement taken at that location would be. Data sense making about interpolation and extrapolation involves understanding the differences between these two estimation approaches and, in particular, the generally higher level of uncertainty associated with extrapolation versus interpolation.\\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10239-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "name": "", diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-3.json b/src/public/offline-activities/precipitating-change-v4/lesson-3.json index 7e231a0f..c045e173 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-3.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-3.json @@ -360,78 +360,6 @@ }, "section": null }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1- Virtual Storm: Exploring Precipitation, Air Moisture, and Temperature\\nThis activity is a continuation of the Virtual Storm simulation and has a similar set-up to the Lesson 2 - Virtual Storm. \\n\\nKey additions in this activity include:\\n\\n* Reusing the 7 am, 11 am, and 3 pm weather map created in Lesson 2.\\n\\n* Pausing the simulation at 3 pm and completely filling in each square. \\n\\nAdditionally, this lesson provides students with an opportunity to explore and explain why it rains in some areas and not others. Students work in teams of weather scientists to collect precipitation data and look for patterns in rainfall, temperature, and air moisture content. Students use the Virtual Storm technology from the beginning, but focus on what is happening at one point in time (at 3 pm). Students then brainstorm all of the patterns they see in the variables of temperature, air moisture, and precipitation and then use those patterns to come up with a general statement (rule) to explain under what conditions rain occurs. Students apply the CT skills of **Data Aggregation** and **Data Abstraction** as they collect and visualize their rain data, but **Pattern Recognition** is the primary computational thinking practice in this Lesson. This sets the stage for the next activity, where students will use the patterns they discover to abstract a rule statement about where rain occurs.\\n\\n###Activity Breakdown\\n**1. Set the stage for the virtual storm with precipitation.** In their research teams, students will be responsible for collecting precipitation data for the region at 7 am (once), 11 am (once), and the entire 3 pm (multiple times). \\n\\n**2. Start the virtual storm with precipitation.** Students first collect and enter precipitation data for 7 am and 11 am but the virtual storm will stay at 3 pm and students will work to complete the map of the region for 3 pm. Students aggregate precipitation data on the 3 pm weather map on the wall. Have students abstract precipitation data by representing it on the map with a raindrop on top of the temperature sticky notes.\\n\\n**3. Pause the virtual storm at 3 pm.** Students explore simulated precipitation only for 3 pm. Research teams move around the room to different locations collecting rain data to complete the 3 pm weather map. \\n\\n**4. Class brainstorm of precipitation patterns.** Lead a class brainstorm, looking for and recognizing patterns in the data. Have the students record their thoughts for precipitation in the online activity. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10232-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"Temperature and Precipitation Discussion Prompts\\n\\n* After the map is complete, have students record their ideas in their Student Notebooks. Encourage students to use the maps on the wall as they describe observed patterns. \\n\\n* For a list of possible class discussion questions, see below: \\n * Where is the rain on the map?\\n * Why do you think it is raining in some places and not others?\\n * Is there a relationship between temperature and precipitation?\\n\\n**Teacher Note**: Patterns should include some notion of precipitation happening in warm areas, and that the rain is clustered in an area and somewhat resembles a diagonal line. Keep in mind that the data they are collecting is a subset of the larger dataset they saw in Lesson 1, Activity 2 - Making an Initial Prediction. This process is a way to help them dive deeper into the data to help support a stronger prediction later in the unit. \\n\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10233-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"In this tutorial, you will learn how to guide students in using the virtual storm interactive to test the rules they have created. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How To Tutorials - Where does it rain virtual model?\",\"mediaURL\":\"https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": true, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10234-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "name": "Data Relationships", @@ -762,54 +690,6 @@ }, "section": "header_block" }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 1: Virtual Storm: Exploring Precipitation, Air Moisture and Temperature (Continued)\\n\\n###Activity Breakdown\\n\\n**1. Set up Round 2 by leaving the Virtual Storm at 3 pm.** Explain to students that their new question is: \\\"Why is it raining in some locations and not others? Where does it rain?\\\"\\n\\n**2. Students explore and collect simulated air moisture content data in different spots at 3 pm to complete the weather map. **Air moisture is represented as a number between 1 (very dry air) and 10 (very moist air). Moisture content refers to how much water vapor is in the air. See discussion points below to help guide students through the process.\\n\\n**3. Class brainstorm of air moisture patterns.** See the Discussion Points for possible question prompts.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10235-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\",\"location\":\"bottom\"},\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Air Moisture Content\\n* Temperature alone is not sufficient to fully answer the questions, \\\"Why is it raining in some locations and not others? Where does it rain?\\\" Another variable, such as air moisture content, is needed. \\n\\n* Briefly introduce the concept of air moisture content. Explain to the students that air contains microscopic water particles, called water vapor. Air moisture content refers to how much water vapor is in the air.\\n\\n* Reference possible students’ past experiences with very moist air (e.g., in the shower or steam room) and/or very dry air (e.g., in a sauna or in the winter). The amount of water vapor is illustrated by an air moisture content number where 0 = very dry air and 10 = very moist air. Students may remember this concept from the data tables they received in Lesson 1.\\n\\n**Teacher Note**: The air moisture data students receive will already be abstracted, so no further abstraction is needed. It is expressed as a single number on a scale of 0 to 10, with 10 having the most water. This corresponds to mass of water per volume of air (i.e., g water/m3 air).\\n\\n###Exploration of Simulated Air Moisture Content at 3 pm. \\n* As research groups move around the room to different locations collecting air moisture data to complete the 3 pm weather map, encourage students to observe and share with each other where in the room the air is wettest, and where they guess it will likely be wettest before they check their instruments.\\n\\n###Air Moisture\\n* Lead a class brainstorm of air moisture patterns and have students record their ideas in their Science Notebooks.\\n* Encourage students to use the map on the wall as they describe observed patterns. \\n\\n* For a list of possible questions to guide your discussion, see below:\\n\\n * Where is the air wettest on the map?\\n\\n * Where is the air driest?\\n\\n * Do you see a relationship between air temperature and air moisture content?\\n\\n * Do you see a relationship between air moisture content and precipitation?\\n\\n**Teacher Note**: Students should come away with some notion of how temperature and air moisture seem to follow the same pattern (warm air = wet, cold air = dry), and that it only rains when the air is wet.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10236-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "name": "", diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json index b12d623c..540bfb38 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4-post.json @@ -43,78 +43,6 @@ }, "section": "header_block" }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10256-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students’ own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk’s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10257-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin’s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin’s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn’t have air masses made of matter on Earth, then we wouldn’t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff – for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n•\\t**Both Alex’s response (precipitation occurs with a warm front coming in)** and **Sage’s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage’s and Alex’s ideas include some incorrect patterns that lead to problematic rules. \\n\\n•\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don’t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn’t mean that there won’t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex’s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n•\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage’s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n•\\tStudents who choose Alex or Sage’s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n•\\t**Delana’s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana’s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana’s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10258-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "name": "", diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json index 31f797bf..f5f18167 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4-pre.json @@ -43,78 +43,6 @@ }, "section": "header_block" }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 4, Opening: What Are the Rules for Fronts and Precipitation? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, the teacher can lead discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the next lesson (Lesson 5).\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10253-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices:\\n* Pattern Recognition\\n* Data-based Prediction\\n* Rule Abstraction\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers. We suggest teachers review the information below and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. Also, we recommend that during the first implementation of the probe, teachers scaffold students to focus on students’ own ideas about this problem. By discussing the different options, students can engage in productive talk related to the different response patterns, priming them to look for productive patterns to associate with precipitation in the upcoming lessons. \\n\\nDuring the ensuing two lessons and the second implementation of the probe, students should be able to use the data from the virtual storm to identify the patterns of temperature, humidity, and movement that are associated with precipitation.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about how patterns of data (i.e., temperature, humidity, and air movement) are associated with precipitation in a location. To keep things simple, we only focus on two types of fronts: cold fronts and warm fronts. Both types of fronts can be associated with precipitation. Identifying patterns associated with precipitation is an example of the computational thinking practice of **Pattern Recognition**. Once patterns associated with precipitation are identified, they can be used in conjunction with data to make a **Data-based Prediction**, which is what Ms. Tevuk’s students are trying to do in the scenario for this assessment probe. **Data-based Prediction** involves identifying patterns and trends within and across groups of data/information as seen in the observable world. The patterns of data associated with precipitation in turn can be used to create rules for the computer model in a process of **Rule Abstraction**. **Rule abstraction** involves creating a general statement derived from exploring patterns in data in order to establish rule(s) or principles. In other words, if you know the patterns of variable values associated with precipitation, you can use those patterns to write rules for predicting precipitation.\\n\\nAs a **cold front** moves into an area, the heavier cool air pushes under the lighter warm air. The air behind a cold front is colder and usually drier than the warm air in front. The warm air in front becomes cooler as it is pushed upward by the entering cold air. If the warm air is humid enough, the water vapor it contains will condense into clouds as it rises, and precipitation may fall. \\n\\n \\n\\nWhen a **warm front** moves into an area, warm air moves above a cool air mass. As the warm air rises, it condenses, often forming clouds and precipitation. \\n\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about patterns when reasoning about air masses, fronts, and precipitation. In this assessment, one of the responses is scientifically correct while the other responses that relate to some informal ideas about weather that students may hold. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10254-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning about patterns associated with fronts and precipitation.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (precipitation with a cold front coming in)** suggests that Kalin may just be thinking about patterns of familiar things going together (cold and wet, warm and sunny) rather than thinking about patterns associated with different types of air masses interacting with one another. Students may associate sun with warm, and rain and snow with cold. Based on that experience, they may think that a cold front is connected to precipitation.\\n\\nStudents who choose Kalin’s response could benefit from having experiences that challenge their simple association idea. For example, looking at weather maps that show warmer air often has more moisture in it and colder air is often drier can help these students develop understanding that relationships might not be as simple as they think. Students who choose Kalin’s response may not think about weather as something that happens with matter. Instead, they may just think of weather in terms of the actions of natural \\\"actors\\\" (e.g., the sun makes it warm, the wind makes it cold). These students could use help in learning that air masses are matter (they are made up of molecules and have mass). If we didn’t have air masses made of matter on Earth, then we wouldn’t have weather. You might talk with students about concrete examples that they can extend to think about air masses as entities made of stuff – for example, they could compare an empty balloon, a balloon filled with warm air, and a balloon filled with cold air. There is very little stuff (matter or molecules of air) in the empty balloon, while there is more stuff (matter) in the balloons filled with warm and cold air.\\n\\n###Middle Level \\n•\\t**Both Alex’s response (precipitation occurs with a warm front coming in)** and **Sage’s response (precipitation occurs after a cold front has passed by an area)** suggest that they are aware that precipitation is associated with bodies of air moving and with the different conditions in those bodies of air (i.e., temperature, levels of humidity). However, both Sage’s and Alex’s ideas include some incorrect patterns that lead to problematic rules. \\n\\n•\\t**Alex** thinks that cold air and warm air mixing causes precipitation. However, warm and cold air masses don’t mix very readily, and it is instead actually warm air rising, expanding, and condensing that generally leads to precipitation. In addition, while Alex knows that cold fronts can be drier than warm fronts, that doesn’t mean that there won’t be any precipitation with cold fronts. Precipitation can occur with a cold front when warm air is pushed up, expands, and condenses.\\n\\nStudents who choose Alex’s response could benefit from working with data to observe the following patterns: (1) precipitation can occur with a cold front and (2) fronts do not necessarily mix.\\n\\n•\\t**Sage** thinks that cold air is humid, which leads to condensation and precipitation. However, warm air masses often have a higher level of humidity compared with cold air masses. It can be confusing that condensation occurs with rising, expanding, and cooling. The unit does not go into this in depth, however. For students who choose Sage’s response, it is probably sufficient here to scaffold experiences with data and virtual storm showing the general pattern of warm air masses having higher levels of humidity than cool air masses.\\n\\n•\\tStudents who choose Alex or Sage’s response can also benefit from discussion and emphasis on the importance of getting the rule right (enough) in order to create a computational model that works. The students working on their weather model will not be able to predict weather with any consistency or accuracy if there is a big problem with the rule (algorithm) they have written into their computer model. \\n\\n###More Formal Idea\\n•\\t**Delana’s response (precipitation occurs with both cold fronts and warm fronts coming in)** is the best answer. Delana’s explanation does not include a more complete mechanistic sequence involving cold air pushing warm air up; warm air rising, expanding, and condensing; and precipitation occurring as a result. This is because the Precipitating Change curriculum simplifies weather phenomena by emphasizing important patterns and de-emphasizing complicated mechanisms. This focus allows the curriculum to scaffold students in connecting observed patterns with rules that can be used to create predictive weather forecasting computer models. Delana’s response both recognizes that weather fronts are made of air (matter) and demonstrates recognition of the correct pattern of conditions in air masses (temperatures, levels of humidity) associated with precipitation forming. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10255-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "name": "", diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-4.json b/src/public/offline-activities/precipitating-change-v4/lesson-4.json index 575c0a5b..a9340c98 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-4.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-4.json @@ -544,126 +544,6 @@ }, "section": null }, - { - "embeddable": { - "plugin": { - "description": "", - "author_data": "{\"tipType\":\"windowShade\",\"questionWrapper\":{\"correctExplanation\":\"correct\",\"distractorsExplanation\":\"distractor\",\"exemplar\":\"exemplar\",\"teacherTip\":\"teacherTip\",\"teacherTipImageOverlay\":\"\"},\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":false,\"content\":\"###Activity 2 - Refining and Testing a Rule with a Virtual Model\\n\\n**Objective:** To deepen students’ understanding of rule refinement with a virtual model that makes it easy to experiment with two varying quantities -- temperature difference and air moisture content. Students use this understanding to solve the challenge of finding the best rule that predicts where precipitation occurs.\\n \\n**1. Encourage students to explore the model.** Ask students to explore all the features of the model. When experimenting with setting rule values, they should try the extreme settings (maximums and minimums) as well as more moderate settings. After 5 to 10 minutes of independent work, let them **tell you** what they have discovered. They might find: \\n\\n* Weather data for five different times with each data set separated by four hours. \\n* Grid squares showing moisture in the upper right corner and temperature in the lower left. \\n* Actual rainfall indicated with the light blue drops. \\n* When \\\"show-results-of-the-rules?\\\" is selected, check marks show which parts of the rule are true. \\n* Check marks appear for each part of the rule when true: orange check for the temperature difference rule and green checks for the moisture rule.\\n* The \\\"Show Rain with these Rules\\\" button displays dark blue drops only where both the temperature difference rule and the moisture rule are true. \\n\\nA short discussion about the following, might be valuable before students go on to the challenge.\\n* Why are there no check marks on the top and left side of the grid? (The temperature rule can’t be calculated because there is no square to the northwest in those rows.)\\n* Is there a rule that makes it rain everywhere (not counting the top and left rows)? Or nowhere?\\n* How did you explore the rules? \\n* How did you test them? \\n* What did you learn? (See if students found a technique for exploring the model. Students might benefit from hearing each other’s strategies.)\\n\\n**2. Challenge: Find the best rule.** Remind students that they are pursuing this question, \\\"Where does it rain?\\\" Or more specifically, \\\"What conditions of temperature and moisture result in rain?\\\" \\n\\nHave students test their rule to find the best fit between the real data (light blue) and the data produced by the rule (dark blue) for the five different times (7 am, 11 am, 3 pm, 7 pm, and 11 pm). They will record their findings in the questions that follow the model.\\n\\nNotes: Try to let students discover that there is no perfect rule. That is, even the best rule may make rain in a square or two that had none or produce rain where there was none. Students will have to work through this. If they find it frustrating, let them know the rule doesn’t need to be perfect. \",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10248-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Lead a class discussion at the end of the activity. Please see possible discussion points below:\\n\\n* Did working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\n* Would the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\n* Do you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don’t know.)\\n\\n* Even if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nDid working with the model help you understand what a rule for predicting weather is? What did you find out? (e.g., Did students notice that rain only occurs when the checkmarks for both the temperature difference and moisture appear in a square?)\\n\\nWould the rule you developed work for all weather systems? Why or why not? (See if students realize that this rule depends on the front moving from the northwest which will not always happen.)\\n\\nDo you think there are perfect rules for weather prediction? Why or why not? (Prediction attempts to do the best it can with the data available. There may be many factors that with the data input or with the rules that we don’t know.)\\n\\nEven if prediction rules are not perfect, why are they still important? (Predicting the weather is an evolving science, so prediction is not perfect. But prediction is essential for planning and for safety.)\\n\\nOptional discussion question, if you have time:\\nThe 7am, 11am, 3pm, and 7pm data matches the Virtual Storm event that you created in Lesson 2 and in Lesson 3. Is the rule that you developed in this activity different than the one in Lesson 3. How have they changed?\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10249-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Alaskan Native Thoughts on Climate Change\\\", The International Polar Year, Sep 2, 2008, Run Time:02:09, http://www.ipy.org/index.php?/ipy/multimedia/&view=1869\",\"mediaURL\":\"https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10250-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"diggingDeeper\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"As weather scientists, students are learning to build relationships based on patterns that they see in the environment. This is a skill that elders in your community do to support the livelihood of their families and their community. Watch the video as a class to learn more about the current patterns that elders are witnessing. Please note: we do not formally have permission to use this movie. \",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"\\\"Passport To Knowledge: Polar Palooza\\\", http://passporttoknowledge.com/polar-palooza/video/native01a.mp4\",\"mediaURL\":\"https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10251-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"howToUse\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"Watch this tutorial to learn how students will be interacting with the Virtual Model to test and refine their rule statements to answer the question, \\\"Where does it rain?\\\"\",\"content2\":\"\",\"mediaType\":\"video\",\"mediaCaption\":\"Precipitating Change How to Tutorials: Where Does It Rain?, 2019, The Concord Consortium\",\"mediaURL\":\"https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10252-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "content": "

    Press Setup and Run. Then, use the sliders to refine your precipitation rule until you have found the best fit between the actual precipitation shown in light blue and the precipitation predicted by the rule in dark blue. Test your rule by clicking Show Rain with These Rules.

    \r\n

    Try your rule with all of the data sets.

    ", diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json index 07b44ae3..fba0f601 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5-post.json @@ -187,78 +187,6 @@ "ref_id": "17148-Embeddable::MultipleChoice" }, "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10301-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10302-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (It doesn’t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that “you’ve got to see it to believe it.” \\n\\nStudents who choose Kalin’s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what’s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there’s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n•\\t**Both Alex’s response (choose the value half way between)** and **Sage’s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex’s and/or Sage’s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n•\\t**Delana’s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana’s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10303-Embeddable::EmbeddablePlugin" - }, - "section": null } ] }, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json index 6daf7c35..25b6dd7a 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-5-pre.json @@ -187,78 +187,6 @@ "ref_id": "17146-Embeddable::MultipleChoice" }, "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 2, Opening: How Should We Estimate the Temperature? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual commitment for the pre-assessment, you can lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10295-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concept and Practice:\\n* Interpolation\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for **teachers** and is not necessarily representative of the learning goals for everything students should understand. Review the information and consider ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend during the first implementation of the probe, you scaffold students to focus on student ideas about this problem, rather than on vocabulary terms such as **interpolation**. By discussing the different options, students can engage in productive talk related to data sense making and computational thinking without using technical terminology. During the ensuing lesson and the second implementation of the probe, the term interpolation can be used, as appropriate.\\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **interpolation**. **Interpolation** means estimating a value between ones that are known or tabulated using surrounding points or values (that is, estimating an unknown value based on surrounding information). \\n\\nThe assessment is situated within the unit context to provide an opportunity for students to make sense about interpolation of a specific, tangible weather question (i.e., temperatures along a map transect). There is always uncertainty involved when interpolating across data. Also, depending on circumstances, different methods may be appropriate. For example, if the students were trying to figure out how to dress for the day at location X, then simply choosing a number somewhere between the two might be sufficient. However, for developing a computer model, the students would likely want to choose a more robust approach. Using an indefinite problem provides space for students to think and talk about things like when and why it might make sense to use the different interpolation approaches. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10296-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning.\\n\\n###Less Formal Ideas\\n•\\t**Kalin’s response (It doesn’t make sense to estimate; you need to go there and measure.)** suggests a very concrete thinking approach consistent with the idea that “you’ve got to see it to believe it.” \\n\\nStudents who choose Kalin’s response could benefit from discussions about how while estimates and interpolations may not be perfect, they can still give us a sense of what’s going on in a system when we have limited data. It might be helpful to discuss that we can never collect all the data in the world; there’s too much! Because of this, we need a way to fill in missing values using the data that we do have available. \\n\\n###Middle Level \\n•\\t**Both Alex’s response (choose the value half way between)** and **Sage’s response (choose a number closer to 59)** might be reasonable estimates in certain circumstances (e.g., for picking out what clothes to wear if you were at location X at that time). These approaches are both better than just choosing a random value as an estimate for X. However, for contexts in which more precision is called for (e.g., making a weather model), then there are ways that we can be more precise in our approaches to interpolation. \\n\\nStudents who choose Alex’s and/or Sage’s response could benefit from discussions of when and why we sometimes might need to be more precise in our estimation approaches. \\n\\n\\n###More Formal Idea\\n•\\t**Delana’s response (mark a number line with the estimate in each square going up the same amount between the two measured values)** suggests that she understands which mathematical interpolation approach will give the most precise value. Again, this level of precision will take more time and effort, and may not even be necessary in some circumstances, as discussed above. However, if our goal is to be precise in our interpolation estimate, then Delana’s response is the most appropriate of the options. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10297-Embeddable::EmbeddablePlugin" - }, - "section": null } ] }, diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json index 42393fa5..d484cda2 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6-post.json @@ -43,78 +43,6 @@ }, "section": "header_block" }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10282-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10283-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n•\\t**Delana’s response (computer models can’t predict the weather)** suggests the perspective that if you can’t predict something perfectly then your model really doesn’t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, “they are just models, so they don’t really tell us what’s going to happen in the real world.” \\n\\nStudents who choose Delana’s response could use support in developing understanding that computer models don’t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow’s weather at all. Students who choose Delana’s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be “good enough” to serve a purpose.\\n\\n###Middle Level \\n•\\t**Alex’s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn’t the problem. \\n\\nStudents who choose Alex’s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n•\\t**Kalin’s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it’s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn’t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n•\\t**Sage’s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model’s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one’s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10284-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "name": "", diff --git a/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json index 1296fae2..51b793bc 100644 --- a/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json +++ b/src/public/offline-activities/precipitating-change-v4/lesson-6-pre.json @@ -43,78 +43,6 @@ }, "section": "header_block" }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"teacherTip\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Pre-Assessment Implementation\\n*Lesson 6, Opening: How Do We Make An Accurate Model To Predict Weather? Pre-Assessment*\\nDuring the pre-assessment, each student will view the probe and make an individual choice. The request for explanation will only be on the post-assessment. After students make an individual choice for the pre-assessment, lead a discussion including, for example, a pair/share opportunity and/or full class discussion. \\n\\nAt this time, encourage students to share and discuss their ideas and reasons without indicating that any one answer is better or worse. Let the students know that they should keep thinking about this question and that the class will return to it at the end of the lesson.\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10279-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"theoryAndBackground\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###Computational Thinking Concepts and Practices: \\n* Rule Refinement\\n* Rule Testing\\n\\n###What is the Purpose of this Assessment Probe?\\nThe following information provides background for teachers and is not necessarily representative of the learning goals for everything students should understand. We suggest teachers review the information and think about ways to scaffold students toward developing knowledge and practice as appropriate for their classes. We also recommend emphasizing the underlying ideas and practices, rather than on vocabulary terms. By discussing the different options, students can engage in productive talk related to these computational thinking concepts without using technical terminology. \\n\\nThis assessment probe is designed to assess and scaffold students in thinking and talking about **Rule Refinement** and, especially, **Rule Testing**. **Rule Refinement** involves refining a rule for use in a modeling environment using scientific principles and incorporating additional data, making the rule more precise, computational, and/or detecting and correcting errors. **Rule Testing** is a process of \\\"calibration\\\" between the modeling environment and the observable world. It involves systematically testing a rule to detect errors and limitations, and analyzing the efficiency of various solutions.\\n\\nThe assessment is situated in the unit context to provide an opportunity for students to make sense about rule refinement and rule testing in a specific, tangible weather problem. While one of the responses makes the most sense from a practical standpoint for this problem, other responses have implicit connections to facets of computational thinking (e.g., using understanding of systems to determine model rules and iteration in modeling). Using an indefinite problem provides space for students to think and talk about different approaches to refining and testing rules for a computer model. While having good data and using good science are important for refining rules, calibration (i.e., rule testing) of models of real-world environmental systems like the weather generally rely on comparisons between model outputs and real-world data as critical evidence of model accuracy and usefulness. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10280-Embeddable::EmbeddablePlugin" - }, - "section": null - }, - { - "embeddable": { - "plugin": { - "description": null, - "author_data": "{\"tipType\":\"windowShade\",\"windowShade\":{\"windowShadeType\":\"discussionPoints\",\"layout\":\"mediaLeft\",\"initialOpenState\":true,\"content\":\"###What Are Common Student Ideas and What Supports Could Help Students?\\nBelow are some issues to consider in assessing students’ ideas, and some suggestions of ways to support students in developing more formal reasoning about rule refinement and rule testing.\\n\\n###Less Formal Ideas\\n•\\t**Delana’s response (computer models can’t predict the weather)** suggests the perspective that if you can’t predict something perfectly then your model really doesn’t work or have any value. We sometimes see this type of reasoning when students and even adults talk about climate change models. Some people say things like, “they are just models, so they don’t really tell us what’s going to happen in the real world.” \\n\\nStudents who choose Delana’s response could use support in developing understanding that computer models don’t need to be perfect in order to be useful. No model is perfectly accurate. Models just need to be good enough for a given purpose. Computer modelers set calibration targets that define how close to the actual event they want their prediction to be (e.g., maybe they want their model to predict the correct outcome of rain or no rain for the next day 95% of the time). Uncertainty is also built into weather models for precipitation in other ways (e.g., a forecast of 70% chance of rain for a given day). Knowing that there is a 70% chance of rain tomorrow is better than not having any information about tomorrow’s weather at all. Students who choose Delana’s response (as well as all the other students) could benefit from conversations about and examples of what it means for a model to be “good enough” to serve a purpose.\\n\\n###Middle Level \\n•\\t**Alex’s response (run the model longer)** suggests awareness that models are not perfect and that they can improve over time. This response may also appeal to some students who know about the idea of computer iteration (i.e., a process in which a set of instructions is repeated in a sequence multiple times or until a condition is met). Sometimes computer models need to run over time through multiple iterations to reach a certain set of criteria for the output. However, in this case, if the computer model is only making a correct prediction about half the time, then the computer needing more time to process the data probably isn’t the problem. \\n\\nStudents who choose Alex’s response could benefit from a discussion about whether or not they think running the model longer would help in this case.\\n\\n•\\t**Kalin’s response (keep working on rules using science)** has some merit. We do want to work on model rules based on scientific principles. However, when modeling a real-world system, it’s not enough to just use the rules of science to make our models. We need to know that our model is actually going to work (i.e., be sufficiently accurate in outputs such as predictions) when it is applied in the real world. Real-world systems are complex. If we just go by the rules of science, we may be overlooking possible problems with either the rules of the model (e.g., omitting an important variable) or with input data (e.g., perhaps a temperature sensor is faulty or isn’t calibrated correctly). In either case, just working on the rules of the model would not be enough to know that the model really works unless we check our weather model predictions against the weather that actually occurs.\\n\\n###More Formal Ideas\\n•\\t**Sage’s answer (refine and test model predictions using Alaska weather data)** is the only option that acknowledges the importance of using calibration to test model rules, which is essential for establishing confidence in a computer model that is designed to represent or simulate an event or phenomenon in the real world. Weather modelers need to compare their model outputs to real-world data to ascertain how well they are working. Calibration is a process of iteratively refining rules and testing with data until a target level of match between model output and real-world data is consistently achieved. Once this level of match (calibration) is achieved with sufficient consistency across multiple datasets, then the modeler can have an acceptable level of confidence in their model’s performance. Weather modelers can and should use scientific principles to design and refine their models, but without real-world evidence there is no way to check one’s model predictions against what really happens in the world. \\n\",\"content2\":\"\",\"mediaType\":\"none\",\"mediaCaption\":\"Last, First. \\\"Title of Work.\\\" Year created. Site Title [OR] Publisher. Gallery [OR] Location. http://www.url.com.\",\"mediaURL\":\"\"}}", - "approved_script_label": "teacherEditionTips", - "component_label": "windowShade", - "approved_script": { - "name": "Teacher Edition", - "url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/plugin.js", - "label": "teacherEditionTips", - "description": "This plugin provides Teacher Edition components", - "version": 3, - "json_url": "https://teacher-edition-tips-plugin.concord.org/version/v3.6.0/manifest.json", - "authoring_metadata": "{\"components\":[{\"label\":\"windowShade\",\"name\":\"Window Shades\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"sideTip\",\"name\":\"Side Tips\",\"scope\":\"embeddable\",\"guiAuthoring\":true},{\"label\":\"questionWrapper\",\"name\":\"Question Wrapper\",\"scope\":\"embeddable-decoration\",\"decorates\":[\"Embeddable::MultipleChoice\",\"Embeddable::OpenResponse\",\"Embeddable::ImageQuestion\",\"ManagedInteractive\",\"MwInteractive\",\"ImageInteractive\",\"VideoInteractive\"],\"guiAuthoring\":true,\"guiPreview\":true}]}" - } - }, - "is_hidden": false, - "is_full_width": true, - "type": "Embeddable::EmbeddablePlugin", - "ref_id": "10281-Embeddable::EmbeddablePlugin" - }, - "section": null - }, { "embeddable": { "name": "", diff --git a/src/public/offline-manifests/precipitating-change-v4.json b/src/public/offline-manifests/precipitating-change-v4.json index 6d398cb5..510025fd 100644 --- a/src/public/offline-manifests/precipitating-change-v4.json +++ b/src/public/offline-manifests/precipitating-change-v4.json @@ -137,10 +137,6 @@ "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", - "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alaskan%20Native%20thoughts%20on%20climate%20change.mp4", - "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/HowtoTutorialVirtualModel1.mp4", - "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Precipitating%20Change%20How%20To%20Tutorials%20-%20The%20Virtual%20Storm%20Interactive%20Alaska.mp4", - "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/native01a.mp4", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", @@ -211,8 +207,6 @@ "models-resources/question-interactives/version/v1.2.0-pre.1/image/", "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/", "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/", - "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/", - "models-resources/teacher-edition-tips-plugin/version/v3.6.0/manifest.json", - "models-resources/teacher-edition-tips-plugin/version/v3.6.0/plugin.js" + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/" ] } \ No newline at end of file diff --git a/src/scripts/update-offline-manifest.ts b/src/scripts/update-offline-manifest.ts index 7bcf45bf..848e641d 100644 --- a/src/scripts/update-offline-manifest.ts +++ b/src/scripts/update-offline-manifest.ts @@ -149,6 +149,16 @@ const updateActivityUrls = (activity: Activity) => { }); }; +const removeTeacherEdition = (activity: Activity) => { + activity.pages.forEach(page => { + page.embeddables = page.embeddables.filter(embeddableWrapper => { + const embeddable = embeddableWrapper.embeddable; + return !(embeddable.type === "Embeddable::EmbeddablePlugin" && + embeddable.plugin?.approved_script_label === "teacherEditionTips"); + }); + }); +}; + const main = async () => { const manifestPath = getManifestPath(); const manifestJSON = loadJSONFile(manifestPath) as OfflineManifest; @@ -169,6 +179,9 @@ const main = async () => { // update glossary urls and question interactives in activity updateActivityUrls(activity); + // remove teacher edition + removeTeacherEdition(activity); + if (bumpInfo) { saveActivity(bumpInfo, offlineActivity, activity); } From 17e0a58ea0259e4c77be9eefe453d06396a12267 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Fri, 2 Apr 2021 00:09:10 -0400 Subject: [PATCH 204/242] result after navigating each page of the activity --- .../precipitating-change-v4.json | 95 ++++++++++++++++++- 1 file changed, 93 insertions(+), 2 deletions(-) diff --git a/src/public/offline-manifests/precipitating-change-v4.json b/src/public/offline-manifests/precipitating-change-v4.json index 510025fd..f7c447a3 100644 --- a/src/public/offline-manifests/precipitating-change-v4.json +++ b/src/public/offline-manifests/precipitating-change-v4.json @@ -131,12 +131,52 @@ "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/moisture-amount.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/precipitation_snow.mp4", "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/weather-movie.mp4", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_555555_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_ffffff_256x240.png", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", @@ -146,14 +186,38 @@ "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/heart2.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/DatabasedPrediction.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/ModelEvaluation.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/RuleAbstraction.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/RuleRefinement.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/abstraction.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/aggregation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/ct-decomposition.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/exptrapolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/interpolation.jpg", "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-1.html", "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", @@ -162,6 +226,8 @@ "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson5-air-masses.v4-new.html", "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson6-1-v1.html", "https://project-resources.concord.org/precipitatingchange/Models-2021/lesson6-2.v1.html", + "https://project-resources.concord.org/precipitatingchange/Sage2.png", + "https://project-resources.concord.org/precipitatingchange/Sage4.png", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4", @@ -183,6 +249,8 @@ "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4", "https://project-resources.concord.org/precipitatingchange/images-2021/AK-maps-at-3-times.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/AirMassMap-Colored.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/Alaska%20Weather%20Stations_7am%20Interpolated-w-coordinates.png", "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/Move_the_line.png", "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/clouds.png", "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/cloudsandsun.png", @@ -191,22 +259,45 @@ "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/rain.png", "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/snow.png", "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/sun.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/Temp-Moisture-Key.png", "https://project-resources.concord.org/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-3-unknowns2.png", "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-8-unknowns2.png", "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", + "https://project-resources.concord.org/precipitatingchange/images/3-drop-black-staggered.png", + "https://project-resources.concord.org/precipitatingchange/images/AK-3-maps-interpolation.png", + "https://project-resources.concord.org/precipitatingchange/images/AKABCinterpolationtemp.jpg", + "https://project-resources.concord.org/precipitatingchange/images/AKweightedneigborinterpolation.jpg", "https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png", + "https://project-resources.concord.org/precipitatingchange/images/linearinterpolation.jpg", "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", + "models-resources/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", + "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/precip-models/ak-w-cities.png", "models-resources/precip-models/lesson-4-ak-v3.html", "models-resources/precip-models/precip-rule-ak-v5.html", "models-resources/question-interactives/version/v0.6.1/image/", "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.js", "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/assets/index.4625e4716a2dfe8f0462.js", "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/assets/index.4625e4716a2dfe8f0462.js", "models-resources/question-interactives/version/v1.2.0-pre.1/image/", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.js", "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/assets/index.4625e4716a2dfe8f0462.js", "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/", - "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/" + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.js" ] -} \ No newline at end of file +} From 51d5f13449198fbad7ccf26013888765e36a4f67 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Fri, 2 Apr 2021 00:18:17 -0400 Subject: [PATCH 205/242] delete accidentally added file --- researcher-report-query.json | 1 - 1 file changed, 1 deletion(-) delete mode 100644 researcher-report-query.json diff --git a/researcher-report-query.json b/researcher-report-query.json deleted file mode 100644 index 106fa197..00000000 --- a/researcher-report-query.json +++ /dev/null @@ -1 +0,0 @@ -{"json":{"type":"learners","version":"1.1","learners":[{"run_remote_endpoint":"https://learn.concord.org/dataservice/external_activity_data/296fe68b-dedf-49d6-b18f-f9341533e0e9","class_id":17,"runnable_url":"https://authoring.concord.org/activities/1082"}],"user":{"id":"https://learn-report.concord.org/users/28","email":"scytacki@concord.org"}},"signature":"886d7c277e6033d9381468acf5ceff8a1426e606fabcb81d5d058798d282d00e"} From 04a6c56000224dd0c9154f2b3e599b0bfa721520 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 3 Apr 2021 01:14:42 -0400 Subject: [PATCH 206/242] initial copy of v4 content --- .../precipitating-change-v5/interview.json | 443 +++ .../lesson-1-post.json | 239 ++ .../precipitating-change-v5/lesson-1.json | 1251 +++++++ .../lesson-2-post.json | 231 ++ .../precipitating-change-v5/lesson-2-pre.json | 231 ++ .../precipitating-change-v5/lesson-2.json | 3008 +++++++++++++++++ .../lesson-3-post.json | 188 ++ .../precipitating-change-v5/lesson-3-pre.json | 188 ++ .../precipitating-change-v5/lesson-3.json | 1019 ++++++ .../lesson-4-post.json | 188 ++ .../precipitating-change-v5/lesson-4-pre.json | 188 ++ .../precipitating-change-v5/lesson-4.json | 809 +++++ .../lesson-5-post.json | 231 ++ .../precipitating-change-v5/lesson-5-pre.json | 231 ++ .../precipitating-change-v5/lesson-5.json | 1465 ++++++++ .../lesson-6-post.json | 188 ++ .../precipitating-change-v5/lesson-6-pre.json | 188 ++ .../precipitating-change-v5/lesson-6.json | 588 ++++ .../precipitating-change-v5/lesson-7.json | 606 ++++ .../precipitating-change-v5.json | 303 ++ 20 files changed, 11783 insertions(+) create mode 100644 src/public/offline-activities/precipitating-change-v5/interview.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-1-post.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-1.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-2-post.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-2-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-2.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-3-post.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-3-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-3.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-4-post.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-4-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-4.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-5-post.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-5-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-5.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-6-post.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-6-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-6.json create mode 100644 src/public/offline-activities/precipitating-change-v5/lesson-7.json create mode 100644 src/public/offline-manifests/precipitating-change-v5.json diff --git a/src/public/offline-activities/precipitating-change-v5/interview.json b/src/public/offline-activities/precipitating-change-v5/interview.json new file mode 100644 index 00000000..036e5080 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/interview.json @@ -0,0 +1,443 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Interview - Predicting the Weather Without the Weather Channel", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143459, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png\"}", + "is_hidden": true, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1636-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Predicting the weather without the Weather Channel

    \r\n

    Talk with an adult family member or family friend who you think might have experience predicting the weather (maybe even someone who is older who learned how to predict the weather when they were around your age).

    \r\n

    What if you needed a weather forecast and couldn’t use your usual ways of checking the weather? Imagine you’re planning to go snowmobiling on the tundra, but there’s a big power failure and there’s no TV, Internet, or cell phone available. Even the radio isn’t working! You might try to figure out a weather forecast with help from someone you know.

    \r\n

    Ask the person the questions below and write down their ideas. If possible, record your talk so you can go back and check that you’ve written down all the important ideas.

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "Predicting the Weather Without the Weather Channel", + "type": "Embeddable::Xhtml", + "ref_id": "147758-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png\"}", + "is_hidden": false, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1657-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"required\":true,\"prompt\":\"

    How did you learn how to predict the weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1638-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What things do you observe to help you predict the weather?

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1639-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How do you observe those things? (What senses do you use? What tools or instruments do you use?)

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1640-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How do you use what you observe to predict what the upcoming weather is going to be like?

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1641-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Step outside together and ask: what do you think the weather is going to be like twelve hours from now and how do you know? If you are talking with someone who is far away, maybe by phone or Internet, ask them to either take a picture of what the sky is like where they are and send it to you or else describe what they see to you as they answer this question.

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1642-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144898, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-1-post.json new file mode 100644 index 00000000..77377a9f --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-1-post.json @@ -0,0 +1,239 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": null, + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144077, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As you answer these questions, think about the words used by the person you talked with about weather and the words used by a meteorologist. How do each of them describe weather and weather forecasting?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148413-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are some similarities between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1834-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are some differences between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1835-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why might it be worthwhile to have some understanding of how to predict weather yourself (without using information from TV or Internet)?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1836-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144899, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-1.json b/src/public/offline-activities/precipitating-change-v5/lesson-1.json new file mode 100644 index 00000000..6c3825cf --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-1.json @@ -0,0 +1,1251 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Making an Initial Prediction", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143296, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever wondered how people on the news are able to predict tomorrow’s weather?

    \r\n

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will tell you about her job and how she predicts the weather.  Jackie will provide more information about being a meteorologist throughout this unit.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Jackie Purcell, a news station meteorologist", + "type": "Embeddable::Xhtml", + "ref_id": "147485-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Jackie Purcell - Lesson 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1262-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142934, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Overall Introduction", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Welcome to Precipitating Change! Watch this video to see what it is all about!

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "What This Unit Is About", + "type": "Embeddable::Xhtml", + "ref_id": "147101-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Mr. Neyhard's Introduction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1180-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142945, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Lesson Opening", + "position": 3, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Your unit challenge will be to determine if the Native Youth Olympics (NYO Games) in Anchorage will be able to take place as planned, be postponed or even be canceled because of problems traveling from across Alaska due to weather.

    \r\n

    To solve this challenge throughout the unit, you will need to learn how to predict the weather.

    \r\n

    You will have the following tools to help you:

    \r\n

    • Real-world data for the Alaska mainland
    • A toolkit to help analyze the data

    \r\n

    Watch Mr. Neyhard tell you more about the unit challenge.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "The unit challenge", + "type": "Embeddable::Xhtml", + "ref_id": "147111-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1184-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142944, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring the Weather", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    EXPLORING THE WEATHER

    \r\n

    \"What am I going to wear today?\" is a question everyone asks each morning. How do you determine what you are going to wear? What information do you collect to inform your decision?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147110-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png\",\"highResUrl\":\"https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1263-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "Reading Weather Forcasts", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2230-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "content": "

    Look at the weather data for the morning on Tuesday.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147486-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"54°F\",\"correct\":true}],\"prompt\":\"

    What is the predicted temperature on Tuesday morning?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1265-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57°F\",\"correct\":true},{\"id\":\"3\",\"content\":\"54°F\",\"correct\":false}],\"prompt\":\"

    What is the predicted high temperature on Tuesday during the day?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1266-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Sunshine\",\"correct\":false},{\"id\":\"2\",\"content\":\"Snow\",\"correct\":false},{\"id\":\"3\",\"content\":\"Rain\",\"correct\":true}],\"prompt\":\"

    What does the symbol on Tuesday mean?

    \\n

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1267-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"3\",\"content\":\"Shorts and T-shirt with sunglasses because it will be sunny and hot.\",\"correct\":false},{\"id\":\"2\",\"content\":\"My parka/big fluffy coat, snow pants, snow boots, and ski goggles because snow will be falling.\",\"correct\":false},{\"id\":\"1\",\"content\":\"A sweater, some pants, and either an umbrella or a rain jacket because it’s not too cold or too warm but it is supposed to be raining.\",\"correct\":true}],\"prompt\":\"

    Based on the weather forecast, what would you wear on Tuesday morning?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1268-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "carousel", + "id": 143199, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Making a Prediction", + "position": 5, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Data Dump Video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2231-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Can you determine at night what the weather will be the following morning? What kind of information goes into a weather prediction?

    \r\n

    You have been planning to go to the NYO Games in Anchorage on April 23 at 7 am. This event has been planned for months and you are expecting that about 500 students will compete from all over the state. One of your jobs is to watch the weather and determine if the event is safe to proceed as planned, or if it should be postponed or cancelled.

    \r\n

    Below is an Alaska weather dataset from weather stations that includes temperature, precipitation, wind speed, and wind direction.

    \r\n

    The data from the weather stations are organized to show information for a 24-hour time period.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Making a Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147487-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1297-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1298-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"

    Click through the radar images which provide precipitation changes for a 24-hour time period.

    \",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "d28c5f7719a5e637904c6b1de2d0036ba4f76313", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/carousel/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Carousel Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1316-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What do you predict the weather will be at 7am in Anchorage on April 23rd? Will it be raining in Anchorage or not? Please include a number for the temperature, for example 75 degrees F. in your explanation.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1434-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"likert\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"6cf707ea-431c-4873-b351-7ce8fe6af548\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"42e03e94-4e9d-4d84-89d8-71efb91ea9bd\"}],\"prompt\":\"

    How confident are you of your prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1350-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143338, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148889-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How the air feels and the sky looks when I go outside\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The condition of the air that surrounds the Earth at a particular time and place\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) What the sky will do at any given time\",\"correct\":false},{\"content\":\"d) Rain, snow, sleet, hail, sunshine, clouds\",\"correct\":false,\"id\":\"17adffb5-75c5-445c-97ba-7c8bc40428a5\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition for the word “weather”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2012-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Forecast based on evidence about a future event\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Having a premonition\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) When you know something is going to happen\",\"correct\":false},{\"content\":\"d) Forecast based on evidence about past events\",\"correct\":false,\"id\":\"cc1298b9-983c-4665-8259-1846d12d93bc\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition for the word “prediction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2013-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"ec77134a-e481-44b6-ae6b-3c946755ecae\"}],\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2014-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To focus on my work\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To learn something about weather\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) To predict the weather at 7am in Anchorage on April 23rd\",\"correct\":true},{\"content\":\"d) To get into the NYO Games\",\"correct\":false,\"id\":\"71d0bbc7-d5bd-47f8-9be5-1f1591c8918e\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is your challenge for this weather unit?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2015-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) First, click on the word\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Second, look at the picture and read the caption\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Third, try to write my own definition for the word\",\"correct\":false},{\"content\":\"d) Fourth, read the actual definition and watch the video if needed\",\"correct\":false,\"id\":\"76ac086c-1572-48f3-bceb-944f20697651\"},{\"content\":\"e) All of the above\",\"correct\":true,\"id\":\"9a77ae48-7532-44cd-9112-58d1b87c5470\"},{\"content\":\"f) Only answers C and D\",\"correct\":false,\"id\":\"cdcb1029-a50e-4f9b-af8c-62eeb16fc034\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do you use the glossary?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2016-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144863, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 7, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-2-post.json new file mode 100644 index 00000000..8f1bbf27 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-2-post.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143587, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147889-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1684-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1685-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17136-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144901, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v5/lesson-2-pre.json new file mode 100644 index 00000000..398bafc5 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-2-pre.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143495, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147795-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1658-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1649-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17135-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144900, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-2.json b/src/public/offline-activities/precipitating-change-v5/lesson-2.json new file mode 100644 index 00000000..9fdc424c --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-2.json @@ -0,0 +1,3008 @@ +{ + "description": "

    How can weather from the past inform future weather predictions?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Displaying Temperature Data ", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143620, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how temperature plays an important part in predicting weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147936-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1705-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143207, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever wondered why some temperature displays are in color (for instance, television weather reports), but a thermometer displays temperature in numbers? Or how weather apps can tell you what the temperature is wherever you are? In this lesson, you are going to learn what it means to display temperature for mainland Alaska.

    \r\n

    As  weather scientists (meteorologists), you will experience a virtual storm event in your classroom. As the virtual storm event occurs, you and your research team will collect and record temperature data. 

    \r\n

    As part of your lesson challenge, you will need to determine how to capture the data, how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introduction to Measuring Temperature", + "type": "Embeddable::Xhtml", + "ref_id": "147375-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Holder for Kevin's video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1706-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    As  weather scientists (meteorologists), you will experience a virtual storm event.  As the virtual storm event occurs, you will learn how to use temperature data from weather stations to fill in the spaces between weather stations.

    \r\n

    As part of your lesson challenge, you will need to determine how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "A Virtual Storm", + "type": "Embeddable::Xhtml", + "ref_id": "149269-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143208, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weather Station Data", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As scientists, it is important to record temperature data for analysis and to predict future weather events. 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Displaying Temperature", + "type": "Embeddable::Xhtml", + "ref_id": "149056-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Gather information from each weather station shown on the map below. Click Setup and Run. Then click each weather station to see the temperature observed for the communities across Alaska at the given time.

    \r\n

    The boxes on the grid are called cells and are identified with a letter and a number. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149057-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Measuring Temperature 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56°F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57°F\",\"correct\":false},{\"content\":\"58°F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"

    What is the temperature in Noorvik (cell C-2) at 7am?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1708-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Measuring Temperature 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"59\",\"correct\":true},{\"id\":\"2\",\"content\":\"60\",\"correct\":false},{\"id\":\"3\",\"content\":\"61\",\"correct\":false},{\"content\":\"62\",\"correct\":false,\"id\":\"08635443-83af-4226-87b9-12531809a282\"}],\"prompt\":\"

    What is the temperature in St. Mary's (cell C-6) at 7am?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2232-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Measuring Temperature 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"55°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"56°F\",\"correct\":false},{\"content\":\"57°F\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"

    What is the temperature in Nome (cell B-4) at 7am?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1710-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Known and Unknown Temperature Measurements ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-1.html", + "type": "MwInteractive", + "ref_id": "97687-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143702, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "First Prediction", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Now you know how to gather information from one weather station at a time.  But what about all the places on the map that do not have a weather station?

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148032-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "content": "

    Look at the data in the map below. Try to predict what the temperature will be in the cells labeled with a question mark.

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148033-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-A1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell A-1. [blank-A1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1785-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-G3]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell G-3. [blank-G3]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1787-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-B7]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell B-7. [blank-B7]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1788-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"There are no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is no other data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It’s difficult to see any patterns with only 8 community’s weather station data.\",\"correct\":false},{\"content\":\"All of the above.\",\"correct\":true,\"id\":\"d0e3f559-c3b2-4ca2-92ee-3638f5a45188\"}],\"prompt\":\"

    Why is it difficult to make predictions for these locations?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1789-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-3-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1786-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143624, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Second Prediction", + "position": 5, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Look at the data in the map to the right.  Now, try to predict what the temperature will be in the cells with a question mark.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147941-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":3}],\"prompt\":\"

    Enter a prediction for Cell A-1. [blank-1]

    \",\"required\":false}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1715-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for Cell G-3. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1716-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for Cell B-7. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1717-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A. It’s not easy, there are still no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B. There is a lot more data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. It’s easier to see any patterns when more data is given.\",\"correct\":false},{\"content\":\"Both B and C.\",\"correct\":true,\"id\":\"b2eba22d-1bbc-4f20-a1c8-c534e9b6085c\"},{\"content\":\"Both A and B.\",\"correct\":false,\"id\":\"283878d3-83dc-407a-a6ab-972efc498d7a\"}],\"prompt\":\"

    Why is it easier to predict the temperature more accurately on this data chart?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1718-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-8-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1755-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143209, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Introducing Interpolation", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How do you think weather scientists (meteorologists) fill in data for missing locations? Scientists have many methods for constructing unknown data between known data points. This is called data interpolation.

    \r\n

    There are many different methods to interpolate data. Let’s look at the three interpolation methods used to make these maps.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Three Methods of Interpolation", + "type": "Embeddable::Xhtml", + "ref_id": "147378-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    \"\"

    \r\n

    For Square A, you may have guessed 54°F degrees or something very close to that. This is the simplest interpolation method. It is called Nearest Neighbor. With this method, you find the nearest weather station to the unknown point and assume it has a similar temperature.

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Nearest Neighbor Interpolation", + "type": "Embeddable::Xhtml", + "ref_id": "149272-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Mr. Neyhard's Introduction to Nearest Neighbor Interpolation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2236-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"f3ca8705-099e-4903-aea2-fe4ee99c0d22\"}],\"prompt\":\"

    If two weather scientists were using the same data but different interpolation methods, could they get different results?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1723-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144865, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Linear Interpolation", + "position": 7, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    \"\"

    \r\n

    For Square B, you may have guessed between 38°F and 50°F, but closer to 50°F. Since this square is between two known temperatures, the unknown temperature is probably between 38°F and 50°F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.

    \r\n

    \"Number

    \r\n

    This method is called Linear Interpolation.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149270-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Linear Interpolation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2237-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144866, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weighted Average Interpolation", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    For Square C, the square is between other squares at 30°F, 48°F, and 50°F. You could average the three numbers and get approximately 43°F. Or you could try to be even more precise. The unknown square is closer to the 50°F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45°F or 46°F). This method is called Weighted Average Interpolation since we give more “weight” or influence to the closer stations.

    \r\n

    \"\"

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149271-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Weighted Average Interpolation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2238-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Comparing the Interpolation Methods", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"7cc05e06-f819-43df-b946-7cbc0654788c\"}],\"prompt\":\"

    If two weather scientists were using the same data but different interpolation methods, could they get different results??

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2239-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143210, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolating Maps", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Each of the following maps used the same station data but a different data interpolation method:

    \r\n

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147379-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":true,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 1 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1224-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 2 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1225-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 3 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1226-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1721-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143625, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Pattern Recognition", + "position": 10, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Look at the data in the map to the right.  Try to think of ways we could make this data easier for finding patterns.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147942-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\" Forget the map and put all of the numbers in order like a number line.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Take the average of each column and each row for that part of Alaska.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Color code the data for certain temperatures. For example from 45-50 degrees F would be the color blue.\",\"correct\":true},{\"content\":\"Add every number together so that we get one really large number to work with. \",\"correct\":false,\"id\":\"eef89f7a-ecfd-48fa-80f7-973d6862bdb1\"}],\"prompt\":\"

    What is one way we can make this weather data easier to understand for predicting weather across Alaska?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1727-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-all-temps-no-color.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1770-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143626, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Pattern Recognition (Cont.)", + "position": 11, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    On the map below, click Setup and Run. Then use the key to the right of the data map to drag and drop the color tiles over the correct temperature for that color’s temperature range. You can check your answers at any time.

    \r\n

    Hint: To make coloring easier, a colored cell can be used to \"paint\" other cells by dragging over them.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149058-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because all of the numbers would still be the same.\",\"correct\":false},{\"id\":\"2\",\"content\":\"No, because different students would put different temperatures for a color and that would make their map have a different color pattern. \",\"correct\":true}],\"prompt\":\"

    If each student in the class were to make their own color key, would we have all ended up with the same pattern at the end?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1728-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It gets warmer.\",\"correct\":true},{\"id\":\"2\",\"content\":\"It gets cooler.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It stays the same.\",\"correct\":false}],\"prompt\":\"

    What happens to the temperatures at 7am as you travel to the southeast across Alaska?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1729-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes\",\"correct\":false},{\"id\":\"2\",\"content\":\"No\",\"correct\":false}],\"prompt\":\"

    Was it as easy to see this warming pattern before we added the colors?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1730-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Explain your reason for the above answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1731-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Abstracting Temperature Ranges with Color ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "type": "MwInteractive", + "ref_id": "97688-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "Painting the Map", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2240-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143627, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Moving Weather Pattern", + "position": 12, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Wow!  You made it. You have predicted temperature for unknown locations using interpolation. Now you understand how temperature data can cover the map with a limited number of real measurements. 

    \r\n

    Now, you'll start looking for patterns of temperature changes over time.

    \r\n

    Below you will see three maps of temperature data each one at a different time during one day. Study the changes of temperature over time looking for patterns in the data. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147944-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"The colder temperatures are moving from the northwest towards the southeast.\",\"correct\":true},{\"id\":\"2\",\"content\":\"The temperatures in the southeast are getting much warmer.\",\"correct\":false},{\"id\":\"3\",\"content\":\"The temperatures in the southeast are getting much cooler.\",\"correct\":false}],\"prompt\":\"

    What is happening to the temperatures as time goes from 7am to 3pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1732-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Temperature Map at Three Times", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/AK-maps-at-3-times.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2090-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143628, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction", + "position": 13, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Weather scientists use patterns in known data over time to make predictions in the future.

    \r\n

    Now, you'll try predicting temperature for a future time. You will need to make a plan or strategy to make a good prediction.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147945-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    The map below shows temperature for three times separated by 4 hours.

    \r\n

    Your job will be to predict the temperature for 4 hours after the last measurement shown.

    \r\n

    Things to do and look for:

    \r\n
      \r\n
    • Use the slider to see temperatures from 7am to 3pm.
    • \r\n
    • Look for patterns of temperature changes over time.
    • \r\n
    • To see patterns, it may help to turn on and off the temperature data or the color key.
    • \r\n
    \r\n

    Remember: always start by clicking Setup and then Run.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149059-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Noorvik patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Noorvik11am]\",\"size\":5},{\"id\":\"[blank-Noorvik3pm]\",\"size\":5},{\"id\":\"[blank-Noorvik7am]\",\"size\":5}],\"prompt\":\"

    Enter the temperature in Noorvik (cell C-2) for 7am [blank-Noorvik7am], 11am [blank-Noorvik11am], and 3pm [blank-Noorvik3pm].

    \",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2143-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Noorvik prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for the temperature in Noorvik at 7pm. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1736-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Nome patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Nome7am]\",\"size\":5,\"matchTerm\":\"56\"},{\"id\":\"[blank-Nome11am]\",\"size\":5,\"matchTerm\":\"51\"},{\"id\":\"[blank-Nome3pm]\",\"size\":5,\"matchTerm\":\"46\"}],\"prompt\":\"

    Enter the temperature in Nome (cell B-4) at 7am [blank-Nome7am], 11am [blank-Nome11am], and 3pm [blank-Nome3pm].

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2144-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Nome prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for the temperature in Nome at 7pm. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1738-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Prediction Strategy", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Describe your plan or strategy for making these predictions. For example, did you see a pattern in the temperatures that helped you come up with your prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2145-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Map with Three Observation Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "type": "MwInteractive", + "ref_id": "97689-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143629, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction (Cont.)", + "position": 14, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The model on this page is just the same as the one on the previous page except it includes the measurement for 7pm. Use the slider to compare your prediction to the measured data.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Checking Your Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147948-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"37°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"38°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"39°F\",\"correct\":true},{\"content\":\"40°F\",\"correct\":false,\"id\":\"aa2fd593-c08e-40e2-a0fd-8c1af86eba2d\"}],\"prompt\":\"

    What is the temperature in Noorvik (cell C-2) at 7pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1739-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"39°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"40°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"41°F\",\"correct\":false},{\"content\":\"42°F\",\"correct\":true,\"id\":\"bdf4731a-c1e0-4794-9f9a-ef03e07668b2\"}],\"prompt\":\"

    What is the temperature in Nome (cell B-4) at 7pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1741-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Does your prediction from the previous page match with the actual temperature for each city? If not, by how many degrees did they differ? Was your estimate high or low?

    \",\"hint\":\"

    Hint: Subtract the estimate from the actual.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1742-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Revised Patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did your strategy for predicting the temperature from the previous page work? Explain your answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2146-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Temperature at Four Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "type": "MwInteractive", + "ref_id": "97691-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143211, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 15, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please check your knowledge of the information in this lesson with this short quiz.

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147380-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Making a prediction in blank spaces\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of talking to your neighbor about your weight while standing in a line\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Estimating and unknown value based on surrounding information\",\"correct\":true},{\"content\":\"d) Copying data from weather stations into blank spaces\",\"correct\":false,\"id\":\"fea96b2e-26aa-4fbc-8022-ee8cf6d0f9f1\"}],\"prompt\":\"

    What is the definition of the word “Interpolation”?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2003-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Weighted Average, Linear, Nearest Neighbor\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Weighted Neighbor, Linear Average, Nearest Common Denominator\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Weighted Linear, Nearest average, Friendly Neighbor\",\"correct\":false},{\"content\":\"d) Alphabetical, Numerical, Linear\",\"correct\":false,\"id\":\"95f3d0b0-6ada-4426-aae5-f91a7cfd469e\"}],\"enableCheckAnswer\":true,\"hint\":\"\",\"prompt\":\"

    What are the three forms of Interpolation you learned in this lesson?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2009-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It makes the map more interesting to look at so that people might want to watch the weather on television.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It makes it easier to see where the warmer air and cooler air is on the map instead of trying to look at individual numbers.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) Because it’s fun to color things in.\",\"correct\":false}],\"enableCheckAnswer\":true,\"prompt\":\"

    Why does it help to color code temperatures on a weather map?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2010-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) From the southeast towards the northwest\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) From the East to the West\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) From the West to the East\",\"correct\":false},{\"content\":\"d) From the northwest towards the southeast\",\"correct\":true,\"id\":\"7fef3354-d757-4411-b431-288e9469301c\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    In the example that you have just worked with, which direction is the colder air moving?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2011-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144864, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 16, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-3-post.json new file mode 100644 index 00000000..18a345ff --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-3-post.json @@ -0,0 +1,188 @@ +{ + "description": "

    Displaying Data: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143592, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147898-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1688-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1689-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144903, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v5/lesson-3-pre.json new file mode 100644 index 00000000..27c6c6cc --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-3-pre.json @@ -0,0 +1,188 @@ +{ + "description": "

    Displaying Data: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143591, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147895-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1687-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1686-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144902, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-3.json b/src/public/offline-activities/precipitating-change-v5/lesson-3.json new file mode 100644 index 00000000..c045e173 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-3.json @@ -0,0 +1,1019 @@ +{ + "description": "

    Displaying Data: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Displaying Precipitation & Air Moisture Data", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143621, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application with Jackie Purcell", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how air moisture plays an important part in forming precipitation.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148013-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1765-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143588, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever been caught without your parka or boots when you needed them? Predicting rain or snow is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.

    \r\n

    As weather scientists, you will continue to explore weather maps. Now, you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number). The larger this number is, the more moisture is contained in the air.

    \r\n

     

    \r\n

    Precipitation symbol = raindrops  \"\" 

    \r\n

     

    \r\n

    \"\"

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Precipitation and Air Moisture ", + "type": "Embeddable::Xhtml", + "ref_id": "147890-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Introduction to Precipitation Model", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2241-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143589, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "

    Would you change what you selected to wear? Yes or No

    \n

    If yes, what would you change and why?

    ", + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The map below shows the virtual storm that you have seen before. With the slider, you can see the storm at three times during one day. This map adds humidity and precipitation data to the temperature data. Combining related data is called data aggregation.

    \r\n

    Look at the temperature and humidity data that is close to where the precipitation falls. Watch how the precipitation moves through the three times. Does the other data move too? Can you see a pattern? 

    \r\n

    Precipitation is shown with three raindrops:  \"\" 

    \r\n

    The air moisture and temperature data are shown this way:\"\" 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Mapping Precipitation and Air Moisture with Temperature in the Virtual Storm", + "type": "Embeddable::Xhtml", + "ref_id": "147891-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Location of Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"G-4\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"id\":\"2\",\"content\":\"G-5\",\"correct\":false,\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"id\":\"3\",\"content\":\"D-6\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"content\":\"D-2\",\"correct\":false,\"id\":\"aff2b1f4-8271-4aaa-8338-fa504931c966\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"A-4\",\"correct\":false,\"id\":\"64b333f5-f8be-4b50-af1f-080692afa946\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"B-7\",\"correct\":true,\"id\":\"fc847408-296f-44b2-8aed-7e305f86ea70\",\"choiceFeedback\":\"Correct!\"}],\"prompt\":\"

    Set the map to show the data at 3 pm. Check all cells listed below that have precipitation.

    \",\"enableCheckAnswer\":true,\"customFeedback\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2163-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Guiding Question #1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It is raining on the warmest cell on the map.

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2164-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Guiding Question #2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It is raining on the coldest cell on the map.

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2165-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Data Relationships", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How would you describe the relationship between temperature and precipitation?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2166-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    On the map below, click Setup and Run, then use the slider to see the movement of the rain over three times of the day. 

    \r\n

    Look for patterns around where the rain falls. To see patterns, it may help to turn on or off the options of data, colors, and rain. For example, turn off show-data? and turn on show-colors? and show-rain?. Is it easier to see how temperature and precipitation move over time?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149127-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Virtual Storm with Rain at Three Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": true, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97738-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144724, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation, Continued", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Guiding Question #3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It rains in cells that have an air moisture of 5 or below.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2171-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Guiding Question #4", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It rains in cells that have an air moisture of 10.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2172-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Conditions for Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How would you describe the relationship between air moisture AND temperature AND precipitation? There are 3 parts to this answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2173-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    The map with temperature, air moisture, and precipitation appears again below. Look carefully for patterns and relationships between all three types of data: temperature, air moisture, and where precipitation occurs. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149129-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97739-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143590, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Predicting Rain - First Try", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "

    Your teacher will lead a class discussion.

    \n

    Possible discussion questions:

    \n

    • What was your prediction for the weather in Boston on November 7th at 7am?
    • What was your strategy that helped you develop your prediction?

    ", + "sidebar_title": "Class Discussion", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The weather map of the virtual storm below shows temperature and air moisture data at 7pm. Use the relationships you just figured out between air moisture, temperature, and precipitation to try and predict where it will rain at 7pm.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "What Makes It Rain?", + "type": "Embeddable::Xhtml", + "ref_id": "147893-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    List the coordinates of the cells in which you think it will rain. (Example: B-1, F-5...) Explain why you think it will rain in those cells. 

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2169-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Virtual Storm at 7 pm - No Precipitation Shown", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2167-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143695, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148890-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"75d5130a-6c7b-45f6-80cd-22d7b2eba0e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “precipitation”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2017-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How much rain is falling to the ground\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Amount or content of water in the air\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) The temperature at which rain will start to fall\",\"correct\":false},{\"content\":\"d) The ratio of the temperature and the wind direction\",\"correct\":false,\"id\":\"65903405-cdf8-4532-a239-e913395a8b36\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of “air moisture”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2018-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It will rain when the air is very dry\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It will rain when the air is very wet\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) It will rain when the air moisture is between 7 and 9\",\"correct\":true},{\"content\":\"d) It will rain when the air moisture is between 5 and 7 \",\"correct\":false,\"id\":\"019a4ccd-da14-4e5f-9692-fe79bddc7c0f\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the relationship between air moisture and precipitation?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2021-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144723, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 7, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-4-post.json new file mode 100644 index 00000000..540bfb38 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-4-post.json @@ -0,0 +1,188 @@ +{ + "description": "

    Building Rules: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143598, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147904-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1692-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1693-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144905, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v5/lesson-4-pre.json new file mode 100644 index 00000000..f5f18167 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-4-pre.json @@ -0,0 +1,188 @@ +{ + "description": "

    Building Rules: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143597, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147903-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1690-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1691-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144904, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-4.json b/src/public/offline-activities/precipitating-change-v5/lesson-4.json new file mode 100644 index 00000000..a9340c98 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-4.json @@ -0,0 +1,809 @@ +{ + "description": "

    Building Rules: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Building Rules", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143689, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how making sense of the weather data helps in predicting weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148014-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1766-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143593, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.

    \n

    Example: This rule has two parts that must happen to have a certain result. If it was a [ very nice summer ] and if it is [ August ], then there will be [ lots of berries to pick ]. 

    \n

    \"\"

    \n

    Think about developing a similar statement that could be used to determine where it will rain.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147899-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Introduction to Computational Rules", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2243-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143595, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Rule Abstraction (cont.)", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.

    \n

    To make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.

    \n

    You can practice making more specific rule statements by answering the questions below and testing them using the model. 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147901-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Using the following rule, which pair of grid squares (A, B, or C) will produce rain? 

    \r\n

    \"\"
    IF the upper square (the northwest square)  is colder than the lower square by [ 5 or more degrees ] AND IF the moisture of the lower square is [ 7 or more ] THEN it rains in the lower square.

    \r\n

     

    \r\n

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "If / Then Rule", + "type": "Embeddable::Xhtml", + "ref_id": "149130-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "If / Then Rule 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":true},{\"id\":\"3\",\"content\":\"C.\",\"correct\":false}],\"prompt\":\"

    Which square will have rain according to this rule?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2174-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "If / Then Rule 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":true},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. \",\"correct\":false}],\"prompt\":\"

    Which square will have rain according to the following rule:

    \\n

    "IF the upper square (the northwest square) is colder than the lower square by [2 degrees] AND IF the moisture of the lower square is [8 or above] THEN it rains in the lower square."

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2175-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "If / Then Rule 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C.\",\"correct\":true}],\"prompt\":\"

    Which square will have rain according to the following rule:

    \\n

    "If the upper square (the northwest square) is colder than the lower square by [5 degrees] AND IF the moisture of the lower square is [6] THEN it rains in the lower square."

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2176-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143596, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Finding the Rule with a Model ", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Rules Model Explanation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2242-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Best Rule", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What is the best and final rule to fit where it actually rains in our virtual storm? (Hint: write the sentence in the model, "If the square to the northwest is colder by at least _____ AND IF the air moisture is at least _____ THEN it rains.")

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2177-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "How Well Does the Rule Work", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did your rule fit the actual precipitation 100% for all the different times? Please explain why or why not.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2178-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    Press Setup and Run. Then, use the sliders to refine your precipitation rule until you have found the best fit between the actual precipitation shown in light blue and the precipitation predicted by the rule in dark blue. Test your rule by clicking Show Rain with These Rules.

    \r\n

    Try your rule with all of the data sets.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149131-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 800, + "native_width": 800, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/precip-rule-ak-v5.html", + "type": "MwInteractive", + "ref_id": "96960-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143694, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148891-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Simplifying data to make it easier to interpret and find patterns\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) A type of art that makes it difficult to see what the artist is trying to show\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) A piece of something\",\"correct\":false},{\"content\":\"d) When you remove a sliver from your finger\",\"correct\":false,\"id\":\"3a59d5ea-7526-46e7-b468-ff8612b9852d\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “abstraction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2022-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) If the square to the north-west is colder by at least 3 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) If the square to the north-west is colder by at least 5 and if the moisture is at least 9 then it will rain.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) If the square to the north-west is colder by at least 7 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"content\":\"d) If the square to the north-west is colder by at least 5 and if the moisture is at least 7 then it will rain.\",\"correct\":true,\"id\":\"d2ba7a47-fe6d-4a57-a07a-4aa83f0af8e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the best rule to answer the question, “Where will it rain?”

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2023-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To keep children following the right behaviors\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To see the patterns in data that would allow a person to make a more accurate prediction\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) To explain the historical trends that occur in an area\",\"correct\":false},{\"content\":\"d) To measure the amount of rain that has fallen after a storm\",\"correct\":false,\"id\":\"6f5b2205-979f-4ca2-a12d-6389c5bf10a0\"}],\"prompt\":\"

    What is the purpose of a rule for predicting weather?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2024-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144867, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 6, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-5-post.json new file mode 100644 index 00000000..fba0f601 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-5-post.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Post-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143619, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147932-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1702-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1703-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17148-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144907, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v5/lesson-5-pre.json new file mode 100644 index 00000000..25b6dd7a --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-5-pre.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Pre-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143617, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147929-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1698-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1699-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17146-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144906, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-5.json b/src/public/offline-activities/precipitating-change-v5/lesson-5.json new file mode 100644 index 00000000..18956a0f --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-5.json @@ -0,0 +1,1465 @@ +{ + "description": "

    Identifying Air Masses: Where does the air come from?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Identifying Air Masses", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143690, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how wind direction impacts different air masses.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148015-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1767-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143599, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the weather - wind! The direction of the wind can give you clues about what weather to expect. And when the wind changes its direction drastically, interesting weather events can happen.

    \r\n


    In this lesson you will explore how air masses interact by watching a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more weather stations. 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Wind", + "type": "Embeddable::Xhtml", + "ref_id": "147905-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143600, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass?", + "position": 3, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    In this activity, you will see how wind blowing from two directions interacts on a Wind Table. Please watch the video below for a demonstration on how a Wind Table maps the movement of air on a gird representing a region of Alaska.

    \r\n

    Wind Table

    \r\n

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Wind Table", + "type": "Embeddable::Xhtml", + "ref_id": "147906-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Mr. Nyhard's Wind Table Demonstration", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2188-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144777, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Defining Wind Direction", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Wind direction is often measured with a weather vane or an air sock. When the wind blows, the weather vane rotates and lines up with the path that the air is flowing. So, wind direction is determined by what direction the wind is coming from. It is measured in degrees (°).

    \r\n

    \"\"

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Measuring Wind Direction", + "type": "Embeddable::Xhtml", + "ref_id": "149273-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143601, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Wind Direction and Air Masses", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2246-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    The arrows on the model below represent the wind direction at each location.  Your challenge using this model is to identify the two air masses and mark a line of cells that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. 

    \r\n

    Remember to click Startup and Run. Then,

    \r\n
      \r\n
    • Use gray color to mark where the front is located
    • \r\n
    • Use blue to mark air mass 1
    • \r\n
    • Use red color to mark air mass 2
    • \r\n
    \r\n

    You can check your work at any time.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Identifying Air Masses", + "type": "Embeddable::Xhtml", + "ref_id": "147907-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why did you draw the line of the front where you did?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2244-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Identifying Air Masses and Fronts", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson5-air-masses.v4-new.html", + "type": "MwInteractive", + "ref_id": "97692-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143602, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Now that you have identified the air masses, lets discuss what an air mass actually is.

    \r\n

    An air mass is a body of air with similar temperature and air moisture content.

    \r\n

    Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an air moisture content number at the bottom of the square.

    \r\n

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Air Mass Definition ", + "type": "Embeddable::Xhtml", + "ref_id": "147908-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Develop a way to identify the two air masses using temperature and air moisture content values provided on the map you just colored.

    \r\n

    \"Air

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Identifying Air Masses", + "type": "Embeddable::Xhtml", + "ref_id": "149276-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"correct\":true,\"content\":\"Colder\"},{\"id\":\"2\",\"content\":\"Warmer\",\"correct\":false}],\"prompt\":\"

    Temperature: Compare Air Mass #1 to Air Mass #2.

    \\n

    Air Mass 1 is:

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2248-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"Warmer\",\"correct\":true},{\"id\":\"2\",\"content\":\"Colder\",\"correct\":false}],\"prompt\":\"

    Temperature: Compare Air Mass #2 to Air Mass #1.\\r

    \\n

    \\rAir Mass #2 over land is:

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2249-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"More moist\",\"correct\":true},{\"id\":\"2\",\"content\":\"More dry\",\"correct\":false}],\"prompt\":\"

    Air moisture: Compare Air Mass #1 to Air Mass #2.
    Air Mass #1 is:

    \",\"hint\":\"\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2250-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 4", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"More moist\",\"correct\":false},{\"id\":\"2\",\"content\":\"More dry\",\"correct\":true}],\"prompt\":\"

    Air moisture: Compare Air Mass #2 to Air Mass #1.

    \\n

    Air Mass #2 is:

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2256-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143603, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Remember, the region between two different air masses is called a front. Weather scientists are very interested in fronts because they are where the weather can change. Sometimes this change is very sudden.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Activity at the Fronts", + "type": "Embeddable::Xhtml", + "ref_id": "147910-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Compare the 7 pm interpolated map and the 7 pm radar map.

    \r\n

    \"\"

    \r\n

    Comparing these maps think about how air masses affect where it rains.

    \r\n

     

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Comparing Weather Data", + "type": "Embeddable::Xhtml", + "ref_id": "147911-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Thinking about Where Rain Will Occur", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It rains across the front making a cross shape.\",\"correct\":false},{\"id\":\"2\",\"content\":\"It rains away from the front.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It rains on the warm side of the front.\",\"correct\":true},{\"content\":\"It rains on the cold side of the front.\",\"correct\":false,\"id\":\"5a069223-5be8-4ee2-9006-b0e79fcb950a\"}],\"prompt\":\"

    How does a front affect where it rains?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2257-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    The weather map below shows wind direction, temperature, and air moisture, but not precipitation. Look at this data and think about where raining would most likely occur.

    \r\n

    \r\n

    Alaska Stations: Interpolated at 7 am

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Applying Your Knowledge", + "type": "Embeddable::Xhtml", + "ref_id": "147912-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Making a Prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Use what you have just learned about fronts and where it rains along fronts to predict where it will rain at 7am based on this map. List the coordinate cell where you think it will rain (for example, B-7, D-5, etc.). Describe what makes you think it will rain in those locations.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2258-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143604, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding (cont.)", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    On the previous page, you made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am below. The radar image shows where it was actually raining at 7 am.

    \r\n

    \r\n

    Radar Image for 7 am

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147913-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Comparing Your Prediction to the Data", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How accurate was your prediction? Explain.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2262-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143605, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Air masses and precipitation", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    When you feel the wind blow on your face, you are feeling air from another place. Sometimes it feels cold; sometimes it feels warm. The wind is what moves air. Weather scientists use wind direction to distinguish multiple air masses. What happens at the boundary of those two air masses? You will explore that question using a new Virtual Model.  

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147914-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    This model shows wind as moving arrowheads and precipitation as green circles. There are two air masses. Identify where the front is. 

    \r\n

    Then, by trying different settings of the temperature and moisture, see if you can make up a rule for what conditions produce precipitation along the front, and on which side of the front the precipitation will occur. 

    \r\n

    Start by pressing Setup and Run. As you change temperatures and moisture settings you may want to press Setup occasionally to start fresh. Be sure to discuss what you find with your research team.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147915-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Conditions for Precipitation - 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are the conditions in the model that result in precipitation happening along a front?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2266-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Not all weather models are perfect. After trying this model out, which settings show rain matching the rule you have learned about fronts and precipitation? Please describe.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2265-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": null, + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Lesson 5:Air Mass Model", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/lesson-4-ak-v3.html", + "type": "MwInteractive", + "ref_id": "96961-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144874, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 10, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Heather Mase, bush pilot, in Naknek, Alaska. She dicusses the importance and use of wind direction data to help her plan her flights.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149277-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Perspective of a Bush Pilot", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4\",\"credit\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2254-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143693, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 11, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148892-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Can be determined using tools such as a weather vane, flag, or windsock\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Described by using the direction that the wind came from\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Described by using the direction that the wind is going to\",\"correct\":false},{\"content\":\"d) Only A and B\",\"correct\":true,\"id\":\"de903f5f-840c-40c0-91db-73c33017a515\"},{\"content\":\"e) Only A and C\",\"correct\":false,\"id\":\"3852ac5d-832a-4558-a526-1729c4a02a20\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of “wind direction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2027-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A body of air with similar temperatures and air moisture content\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Where the weather begins\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) An air mass that is very dry with calm weather.\",\"correct\":false},{\"content\":\"d) The area between two colliding air masses of different temperatures that result in a change in weather.\",\"correct\":true,\"id\":\"9c06c9a6-3906-4afb-bdb1-066b8d22ad43\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “front”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2029-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A measurement of the weight of the air.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) A body of air with similar temperatures and air moisture content.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) A piece of equipment that shows the direction the air is moving.\",\"correct\":false},{\"content\":\"d) The line between two fronts where the wind changes direction.\",\"correct\":false,\"id\":\"adf51964-b089-4d02-92c4-8ba5ddd87113\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is an air mass?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2030-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Compass rose and degree directions always tell where the wind is coming from.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Arrows always point where the wind is going.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Compass rose and degree directions always tell where the wind is going.\",\"correct\":false},{\"content\":\"d) Arrows always point where the wind is coming from.\",\"correct\":false,\"id\":\"4dcfa49c-9d65-44c8-ba59-30ad0232f898\"},{\"content\":\"e) Both A and B\",\"correct\":true,\"id\":\"cf4fa7b4-5048-40c0-acbe-478fffa79243\"},{\"content\":\"f) Both C and D\",\"correct\":false,\"id\":\"1dcfe310-0d3d-4879-bf47-0158c1310a6a\"},{\"content\":\"g) Both B and C\",\"correct\":false,\"id\":\"7ddeb9e9-b680-4974-8ed5-fc7aaeea1846\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do meteorologists talk about the wind direction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2031-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) The colder drier air mass\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The colder wetter air mass\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The warmer wetter air mass\",\"correct\":true},{\"content\":\"d) The warmer drier air mass\",\"correct\":false,\"id\":\"cfed3538-0de4-4b54-8414-57afc6d5a849\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    When a front forms with the right conditions for precipitation, which air mass does the precipitation fall in?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2032-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144868, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 12, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-6-post.json new file mode 100644 index 00000000..d484cda2 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-6-post.json @@ -0,0 +1,188 @@ +{ + "description": "

    Modeling Fronts: How do fronts move?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143611, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147922-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1696-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1697-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144909, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v5/lesson-6-pre.json new file mode 100644 index 00000000..51b793bc --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-6-pre.json @@ -0,0 +1,188 @@ +{ + "description": "

    Modeling Fronts: How do fronts move?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143610, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147921-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1694-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1695-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144908, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-6.json b/src/public/offline-activities/precipitating-change-v5/lesson-6.json new file mode 100644 index 00000000..af165dd7 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-6.json @@ -0,0 +1,588 @@ +{ + "description": "

    Modeling Fronts: How do fronts move?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Modeling Fronts", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143691, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how moving fronts impact the weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148016-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1768-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143607, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Where is the front going and how fast is the front moving?

    \r\n

    Throughout this unit you have been exploring different aspects of regional weather data. There is one more piece of information we need to figure out before you can make your final prediction for the unit challenge:

    \r\n

    What will the weather be in Anchorage 24 hours from now?

    \r\n

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "How do fronts move?", + "type": "Embeddable::Xhtml", + "ref_id": "147917-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143608, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Where is the front going?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Press Setup and Run on the model below. Watch as the arrows trace their path for 11am. Then do the same for 9pm and 7am. Take note of any differences you see between the times.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Where is the front going?", + "type": "Embeddable::Xhtml", + "ref_id": "147918-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Direction the Front Is Moving", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"North\",\"correct\":false},{\"id\":\"2\",\"content\":\"East\",\"correct\":false},{\"id\":\"3\",\"content\":\"South\",\"correct\":true},{\"content\":\"West\",\"correct\":false,\"id\":\"77337e25-5dfa-4c34-bfbd-04227e1ea9bb\"}],\"prompt\":\"

    Ultimately, in what direction is the front moving? (Hint: not the wind direction.)

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2183-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Describing Front Direction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Because at 11am the red lines are moving to the north so the front is moving north.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Because at 7am the blue lines are moving to the East so the front is moving east.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Because at 11 am the blue and red lines collide near Norvik and go closer to Utqiagvik, but at 7am they collide closer to Fairbanks. This means the front is moving South.\",\"correct\":true},{\"content\":\"Because at 7am almost all of the wind is coming from the west so the front is moving to the west.\",\"correct\":false,\"id\":\"f5c297cc-ea8a-4837-ac4b-bc3c174ee66f\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do you know the front is moving in that direction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2184-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Fronts Moving in Time", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson6-1-v1.html", + "type": "MwInteractive", + "ref_id": "97811-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143609, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "How fast is the front moving?", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Now that you have figured out which way the front is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it’s going to pass through there. Where the front is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the weather.

    \r\n

    To best predict where the front will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance divided by time). Once you know both speed and direction of the front, your weather analysis will help you answer the question, “Will it be raining in Anchorage?”

    \r\n

    The model below allows you to mark the fronts at three times and measure the distance between them. With the time and distance data you can calculate the approximate speed of the front and then calculate where it will be 24 hours after the last measurement. To do this you can use the tools built into this model.

    \r\n

    First, mark the fronts.

    \r\n

    • Click Setup and Run and see where the front forms. (Once the front has formed click Run again to turn it off.) See Mr. Neyhard's video for help.
    • Click Draw Line and use the mouse to mark the front. (Be sure the mouse stays inside the map while dragging.)  
    • You can always start over by clicking Clear Last Line or Clear All Lines
    • Repeat this for 9pm and 7am. You can turn Run off or click Setup again if the map gets too dark.

    \r\n

    Second, measure the distance between fronts.

    \r\n

    • Turn off Run and click show-distance?. Now, lines that you draw will show their length in kilometers. (You can click Setup to see the map more clearly.)
    • Draw a line from one front to the other to measure the distance between them. Start near Fairbanks because the front there will be close to where it will cross Anchorage. Do this for the distance between the first and second front and the second and third front.

    \r\n

    Third, calculate the speed of the front. See Mr. Neyhard's video for help.

    \r\n

    • Each set of data is separated by 10 hours.  
    • Divide the distance between the top and middle front by 10 to get the speed in kilometers per hour.
    • Divide the distance between the middle and bottom front by 10 to get the speed in kilometers per hour.
    • Average the two speeds by adding them together and then divide by 2.

    \r\n

    Finally, calculate the location of the front 24 hours later.

    \r\n

    • Mutliply the average speed by 24 hours to predict where it will be on April 23 at 7am.  
    • Will the front be on top of Anchorage? Should the NYO Games go on as planned?

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Calculating the Speed of the Front and Making a Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147919-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Measured distances", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    You have marked three fronts. Please answer the following three questions:

    \\n

    (1) What distance did you measure between the fronts at April 21, 11am, and April 21, 9pm?

    \\n

    (2) What distance did you measure between the fronts at April 21, 9pm and April 22, 7am?

    \\n

    (3) What is the average distance between the fronts?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2217-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Speed of the front", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How fast is the front moving in kilometers per hour? Please show your calculation.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2218-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "The main question", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How far did the front move in 24 hours after April 22, 7am? Please show your calculations. Is the front to the North, South, or on top of Anchorage on April 23 at 7am:

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2219-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Testing your prediction with the Reveal", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Click Run again and then Reveal April 23, am. Where is the front? Was your prediction correct? Please describe.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2220-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Measuring the Movement of Fronts", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/lesson6-2.v1.html", + "type": "MwInteractive", + "ref_id": "97812-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144841, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 5, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-7.json b/src/public/offline-activities/precipitating-change-v5/lesson-7.json new file mode 100644 index 00000000..e9322063 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v5/lesson-7.json @@ -0,0 +1,606 @@ +{ + "description": "

    Analyzing Data and Making a Prediction: What will the weather be like 24 hours from now?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 7: Analyzing Data and Making a Prediction", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143696, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how to make predictions for upcoming weather patterns.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148017-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1769-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143612, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    You have been planning the Alaskan Native Youth Olympics (NYO Games) for April 23rd at 7:00 am. This event has been planned for months and the committee is expecting over 500 people to attend. One of your jobs on this committee is to watch the weather and determine if the event is safe to proceed as planned, or if it should be postponed or even canceled.

    \n

    It’s time to put your computational thinking skills to work!

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147923-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143613, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Throughout the Precipitating Change, you have been developing some computational thinking skills that real weather scientist use. Although we have not named the skill until now, notice in the table below the skills you have used to help decide if the NYO Games should proceed.

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    Definition Computational Thinking Skill
    \r\n

    Organizing a large amount of information (data) into smaller more manageable parts.

    \r\n
    \r\n

    Decomposition

    \r\n

    In Lesson 1, you organized weather station data over a two-day period and radar maps of Alaska every 6 hours to make a prediction.

    \r\n
    \r\n

    Recognizing that data or information is repeating in a logical (expected) way.

    \r\n
    \r\n

    Pattern Recognition

    \r\n

    In Lesson 2, you ran the model to see temperature data and patterns of data moving across the map. Before and after each run of the model, you interpolated data. You discovered that warm and cold spots on the map are at times on certain sides, and also you saw these spots change location over time.

    \r\n

    In Lesson 3 and 4, you ran the models to develop a general statement to answer the question \"Where does it rain?\".

    \r\n
    \r\n

    Estimating an unknown value based on surrounding information.

    \r\n
    \"\"\r\n

    Interpolation

    \r\n

    In Lesson 2, you made best guess estimates of the temperatures that were missing on the map.

    \r\n
    \r\n

    Following a pattern beyond the known data points.

    \r\n
    \r\n

    Extrapolation

    \r\n

    In Lesson 2, you predicted future weather based on patterns you observed in the changing temperatures you collected and visualized.

    \r\n
    \r\n

    Collecting and organizing data to better understand the topic.

    \r\n
    \r\n

    Data Aggregation

    \r\n

    In Lesson 2, you observed temperature data from a model and organized the data to see the “big picture”.

    \r\n
    \r\n

    Simplifying data to make it easier to interpret and find patterns.

    \r\n
    \r\n

    Data Abstraction

    \r\n

    In Lesson 2, you came up with a color scheme for temperature and changed how the data was represented from numbers to temperature categories, and then to colors.

    \r\n
    \r\n

    Developing a statement of how things work based on the patterns you observed.

    \r\n
    \r\n

    Rule Abstraction

    \r\n

    In Lesson 3, you made a generic statement to answer the question, \"Where does it rain?\".

    \r\n
    \r\n

    Looking at the big picture by putting all the components together in the model to see if it works.

    \r\n
    \r\n

    Model Evaluation

    \r\n

    In Lesson 4 and 5, you ran a model to determine whether a rule was still true in different situations.

    \r\n
    \r\n

    Modifying a rule to be more precise (exact, careful about details) to work in the model.

    \r\n
    \r\n

    Rule Refinement

    \r\n

    In Lesson 4 and 5, as you ran the model, you were able to test your rule statements and make changes based on the model.

    \r\n
    \r\n

    Forecast based on evidence about a future event.

    \r\n
    \r\n

    Data-based Prediction

    \r\n

    In Lesson 6, you selected data including temperature, air moisture and wind direction to help form a forecast about a future event.

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147924-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Which skill was the easiest to use? Please explain why.

    \\n

    a) Decomposition

    \\n

    b) Pattern Recognition

    \\n

    c) Interpolation

    \\n

    d) Extrapolation

    \\n

    e) Data Aggregation

    \\n

    f) Data Abstraction

    \\n

    g) Rule Abstraction

    \\n

    h) Model Evaluation

    \\n

    i) Rule Refinement

    \\n

    j) Data-based Prediction

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1895-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Which skill was the hardest to use? Please explain why?

    \\n

    a) Decomposition

    \\n

    b) Pattern Recognition

    \\n

    c) Interpolation

    \\n

    d) Extrapolation

    \\n

    e) Data Aggregation

    \\n

    f) Data Abstraction

    \\n

    g) Rule Abstraction

    \\n

    h) Model Evaluation

    \\n

    i) Rule Refinement

    \\n

    j) Data-based Prediction

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1896-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143614, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection (cont.)", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Your Initial Prediction

    \n

    At the beginning of the unit you made a weather prediction.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147925-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    In Lesson 1, Page 5 - Making a Prediction, what did you predict the weather will be at 7:00 am in Anchorage on April 23?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1897-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"a6d209ef-958d-474c-a8db-e1b73b84fde7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"2ffa3691-0e65-48b2-8466-b8528d8de2b5\"}],\"prompt\":\"

    How confident were you of your prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1898-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What did you learn during this unit that helped you make a more accurate prediction.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2252-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144656, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Presentation", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":1200,\"canvasHeight\":800,\"initialState\":{\"itemPositions\":{\"a058923a-4542-4e84-951c-e2f36b2c8251\":{\"left\":442,\"top\":-28},\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\":{\"left\":266,\"top\":-43},\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\":{\"left\":740,\"top\":-31},\"4310bd82-1a68-412e-9b07-53073da246a1\":{\"left\":588,\"top\":-35},\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\":{\"left\":103,\"top\":-38},\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\":{\"left\":779,\"top\":71}}},\"draggableItems\":[{\"id\":\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"4310bd82-1a68-412e-9b07-53073da246a1\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"a058923a-4542-4e84-951c-e2f36b2c8251\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/sun.png\"},{\"id\":\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/lineforprediction.png\"}],\"backgroundImageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/Move_the_line.png\",\"prompt\":\"

    FINAL STEP!!! Show us what the weather will be on April 23rd at 7am!!!

    \\n

    Drag the icon that fits your prediction of the weather over Anchorage during the NYO games. Also drag the yellow line to show where the front is during the time of the games.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "a309b989c0cff0915fe71fcdf16dd116a6231c9b", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2221-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did you decide to hold NYO or to cancel or postpone it due to bad weather preventing teams from flying into Anchorage? Explain your reasoning including the temperature, precipitation, and wind direction that you predict will happen in Anchorage.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2224-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144869, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 6, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-manifests/precipitating-change-v5.json b/src/public/offline-manifests/precipitating-change-v5.json new file mode 100644 index 00000000..f7c447a3 --- /dev/null +++ b/src/public/offline-manifests/precipitating-change-v5.json @@ -0,0 +1,303 @@ +{ + "name": "Alaska 2021 - Precipitating Change", + "activities": [ + { + "name": "Interview - Predicting the Weather Without the Weather Channel", + "contentUrl": "offline-activities/precipitating-change-v4/interview.json", + "resourceUrl": "https://authoring.concord.org/activities/11559" + }, + { + "name": "Lesson 1: Making an Initial Prediction", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-1.json", + "resourceUrl": "https://authoring.concord.org/activities/11501" + }, + { + "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-1-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11630" + }, + { + "name": "Lesson 2: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-2-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11565" + }, + { + "name": "Lesson 2: Displaying Temperature Data ", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-2.json", + "resourceUrl": "https://authoring.concord.org/activities/11526" + }, + { + "name": "Lesson 2: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-2-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11581" + }, + { + "name": " Lesson 3: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-3-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11583" + }, + { + "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-3.json", + "resourceUrl": "https://authoring.concord.org/activities/11582" + }, + { + "name": " Lesson 3: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-3-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11584" + }, + { + "name": "Lesson 4: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-4-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11586" + }, + { + "name": "Lesson 4: Building Rules", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-4.json", + "resourceUrl": "https://authoring.concord.org/activities/11585" + }, + { + "name": "Lesson 4: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-4-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11587" + }, + { + "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-5-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11593" + }, + { + "name": "Lesson 5: Identifying Air Masses", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-5.json", + "resourceUrl": "https://authoring.concord.org/activities/11588" + }, + { + "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-5-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11595" + }, + { + "name": "Lesson 6: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-6-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11590" + }, + { + "name": "Lesson 6: Modeling Fronts", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-6.json", + "resourceUrl": "https://authoring.concord.org/activities/11589" + }, + { + "name": "Lesson 6: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-6-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11591" + }, + { + "name": "Lesson 7: Analyzing Data and Making a Prediction", + "contentUrl": "offline-activities/precipitating-change-v4/lesson-7.json", + "resourceUrl": "https://authoring.concord.org/activities/11592" + } + ], + "cacheList": [ + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/air_moisture_fog-high.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/pattern-recognition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/precipitation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/weather.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/wind-direction.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/exptrapolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/extrapolation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/AbstractionMovie.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/Aggregation.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/PatternRecognition.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/WindDirection.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/moisture-amount.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/precipitation_snow.mp4", + "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/weather-movie.mp4", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_555555_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_ffffff_256x240.png", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/heart2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/DatabasedPrediction.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/ModelEvaluation.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/RuleAbstraction.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/RuleRefinement.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/abstraction.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/aggregation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/ct-decomposition.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/exptrapolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/interpolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-1.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson5-air-masses.v4-new.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson6-1-v1.html", + "https://project-resources.concord.org/precipitatingchange/Models-2021/lesson6-2.v1.html", + "https://project-resources.concord.org/precipitatingchange/Sage2.png", + "https://project-resources.concord.org/precipitatingchange/Sage4.png", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/images-2021/AK-maps-at-3-times.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/AirMassMap-Colored.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/Alaska%20Weather%20Stations_7am%20Interpolated-w-coordinates.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/Move_the_line.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/clouds.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/cloudsandsun.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/lineforprediction.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/rain.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/snow.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/sun.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/Temp-Moisture-Key.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-3-unknowns2.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-8-unknowns2.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", + "https://project-resources.concord.org/precipitatingchange/images/3-drop-black-staggered.png", + "https://project-resources.concord.org/precipitatingchange/images/AK-3-maps-interpolation.png", + "https://project-resources.concord.org/precipitatingchange/images/AKABCinterpolationtemp.jpg", + "https://project-resources.concord.org/precipitatingchange/images/AKweightedneigborinterpolation.jpg", + "https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png", + "https://project-resources.concord.org/precipitatingchange/images/linearinterpolation.jpg", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", + "models-resources/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", + "models-resources/precip-models/ak-base-map-with-rose.png", + "models-resources/precip-models/ak-w-cities.png", + "models-resources/precip-models/lesson-4-ak-v3.html", + "models-resources/precip-models/precip-rule-ak-v5.html", + "models-resources/question-interactives/version/v0.6.1/image/", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/", + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.js" + ] +} From 12763f6bba9f321856ccc960ceca5c5e2d38ea76 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 3 Apr 2021 01:26:26 -0400 Subject: [PATCH 207/242] update after the script I made one manual change which was to add back in the jquery ui icons. I believe these are referenced by the activity player itself --- .../precipitating-change-v5/interview.json | 2 +- .../lesson-1-post.json | 2 +- .../precipitating-change-v5/lesson-1.json | 16 +- .../lesson-2-post.json | 2 +- .../precipitating-change-v5/lesson-2-pre.json | 2 +- .../precipitating-change-v5/lesson-2.json | 65 +------- .../lesson-3-post.json | 2 +- .../precipitating-change-v5/lesson-3-pre.json | 2 +- .../precipitating-change-v5/lesson-3.json | 6 +- .../lesson-4-post.json | 2 +- .../precipitating-change-v5/lesson-4-pre.json | 2 +- .../precipitating-change-v5/lesson-4.json | 4 +- .../lesson-5-post.json | 2 +- .../precipitating-change-v5/lesson-5-pre.json | 2 +- .../precipitating-change-v5/lesson-5.json | 10 +- .../lesson-6-post.json | 2 +- .../precipitating-change-v5/lesson-6-pre.json | 2 +- .../precipitating-change-v5/lesson-6.json | 110 ++++++++++++- .../precipitating-change-v5/lesson-7.json | 4 +- .../precipitating-change-v5.json | 146 +++++++++--------- src/scripts/update-offline-manifest.config.ts | 2 +- 21 files changed, 220 insertions(+), 167 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v5/interview.json b/src/public/offline-activities/precipitating-change-v5/interview.json index 036e5080..fa7c1a3b 100644 --- a/src/public/offline-activities/precipitating-change-v5/interview.json +++ b/src/public/offline-activities/precipitating-change-v5/interview.json @@ -424,7 +424,7 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-1-post.json index 77377a9f..6e87a301 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-1-post.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-1-post.json @@ -220,7 +220,7 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-1.json b/src/public/offline-activities/precipitating-change-v5/lesson-1.json index 6c3825cf..feac9bd1 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-1.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-1.json @@ -773,7 +773,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"

    Click through the radar images which provide precipitation changes for a 24-hour time period.

    \",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}]}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"

    Click through the radar images which provide precipitation changes for a 24-hour time period.

    \",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}],\"hint\":\"\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -792,30 +792,30 @@ "inherit_image_url": true, "custom_image_url": null, "library_interactive": { - "hash": "d28c5f7719a5e637904c6b1de2d0036ba4f76313", + "hash": "ce065054c8b26efaac977457d0e7332c457e6061", "data": { "aspect_ratio_method": "DEFAULT", "authoring_guidance": "", "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/carousel/", "click_to_play": false, "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, + "description": "This Carousel is configured to not save state. So it won't show up the report. This is useful if it is only showing a collection of pictures or videos. ", + "enable_learner_state": false, "full_window": false, "has_report_url": false, "image_url": null, - "name": "Carousel Interactive", + "name": "Carousel Interactive not a Question", "native_height": 435, "native_width": 576, "no_snapshots": false, - "show_delete_data_button": true, + "show_delete_data_button": false, "thumbnail_url": "", "customizable": true, "authorable": true } }, "type": "ManagedInteractive", - "ref_id": "1316-ManagedInteractive", + "ref_id": "2280-ManagedInteractive", "linked_interactives": [] }, "section": "interactive_box" @@ -1232,7 +1232,7 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-2-post.json index 8f1bbf27..f428cc50 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-2-post.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-2-post.json @@ -212,7 +212,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v5/lesson-2-pre.json index 398bafc5..6fefeef8 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-2-pre.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-2-pre.json @@ -212,7 +212,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-2.json b/src/public/offline-activities/precipitating-change-v5/lesson-2.json index 9fdc424c..02449227 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-2.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-2.json @@ -403,7 +403,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-1.html", + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-1.html", "type": "MwInteractive", "ref_id": "97687-MwInteractive", "linked_interactives": [] @@ -997,7 +997,7 @@ ] }, { - "additional_sections": null, + "additional_sections": {}, "embeddable_display_mode": "stacked", "id": 143209, "is_completion": false, @@ -1006,7 +1006,7 @@ "name": "Introducing Interpolation", "position": 6, "show_header": true, - "show_info_assessment": true, + "show_info_assessment": false, "show_interactive": false, "show_sidebar": false, "sidebar": null, @@ -1087,57 +1087,6 @@ "linked_interactives": [] }, "section": "header_block" - }, - { - "embeddable": { - "name": "", - "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"f3ca8705-099e-4903-aea2-fe4ee99c0d22\"}],\"prompt\":\"

    If two weather scientists were using the same data but different interpolation methods, could they get different results?

    \",\"enableCheckAnswer\":true}", - "is_hidden": false, - "is_full_width": true, - "show_in_featured_question_report": true, - "inherit_aspect_ratio_method": true, - "custom_aspect_ratio_method": "DEFAULT", - "inherit_native_width": true, - "custom_native_width": 576, - "inherit_native_height": true, - "custom_native_height": 435, - "inherit_click_to_play": true, - "custom_click_to_play": false, - "inherit_full_window": true, - "custom_full_window": false, - "inherit_click_to_play_prompt": true, - "custom_click_to_play_prompt": null, - "inherit_image_url": true, - "custom_image_url": null, - "library_interactive": { - "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", - "data": { - "aspect_ratio_method": "DEFAULT", - "authoring_guidance": "", - "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", - "click_to_play": false, - "click_to_play_prompt": null, - "description": "", - "enable_learner_state": true, - "full_window": false, - "has_report_url": false, - "image_url": null, - "name": "Multiple Choice", - "native_height": 435, - "native_width": 576, - "no_snapshots": false, - "show_delete_data_button": false, - "thumbnail_url": "", - "customizable": true, - "authorable": true - } - }, - "type": "ManagedInteractive", - "ref_id": "1723-ManagedInteractive", - "linked_interactives": [] - }, - "section": null } ] }, @@ -1954,7 +1903,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-2-colors-v3.html", "type": "MwInteractive", "ref_id": "97688-MwInteractive", "linked_interactives": [] @@ -2462,7 +2411,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-3-time-slider-v1.html", "type": "MwInteractive", "ref_id": "97689-MwInteractive", "linked_interactives": [] @@ -2723,7 +2672,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-3-time-slider-v1a.html", "type": "MwInteractive", "ref_id": "97691-MwInteractive", "linked_interactives": [] @@ -2989,7 +2938,7 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-3-post.json index 18a345ff..acdac16b 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-3-post.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-3-post.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v5/lesson-3-pre.json index 27c6c6cc..683fa336 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-3-pre.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-3-pre.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-3.json b/src/public/offline-activities/precipitating-change-v5/lesson-3.json index c045e173..c11c95a4 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-3.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-3.json @@ -442,7 +442,7 @@ "no_snapshots": true, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson3-1.v1.html", "type": "MwInteractive", "ref_id": "97738-MwInteractive", "linked_interactives": [] @@ -652,7 +652,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson3-1.v1.html", + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson3-1.v1.html", "type": "MwInteractive", "ref_id": "97739-MwInteractive", "linked_interactives": [] @@ -1000,7 +1000,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-4-post.json index 540bfb38..01972c36 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-4-post.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-4-post.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v5/lesson-4-pre.json index f5f18167..95c7809a 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-4-pre.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-4-pre.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-4.json b/src/public/offline-activities/precipitating-change-v5/lesson-4.json index a9340c98..0d4f8e85 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-4.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-4.json @@ -559,7 +559,7 @@ { "embeddable": { "aspect_ratio_method": "MANUAL", - "authored_state": null, + "authored_state": "", "click_to_play": false, "click_to_play_prompt": null, "enable_learner_state": false, @@ -790,7 +790,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-5-post.json index fba0f601..be695c4e 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-5-post.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-5-post.json @@ -212,7 +212,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v5/lesson-5-pre.json index 25b6dd7a..c753be8e 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-5-pre.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-5-pre.json @@ -212,7 +212,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-5.json b/src/public/offline-activities/precipitating-change-v5/lesson-5.json index 18956a0f..3f81dcd3 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-5.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-5.json @@ -390,7 +390,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson5-air-masses.v4-new.html", + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson5-air-masses.v4-new.html", "type": "MwInteractive", "ref_id": "97692-MwInteractive", "linked_interactives": [] @@ -740,7 +740,7 @@ }, { "embeddable": { - "content": "

    The weather map below shows wind direction, temperature, and air moisture, but not precipitation. Look at this data and think about where raining would most likely occur.

    \r\n

    \r\n

    Alaska Stations: Interpolated at 7 am

    ", + "content": "

    The weather map below shows wind direction, temperature, and air moisture, but not precipitation. Look at this data and think about where raining would most likely occur.

    \r\n

    \r\n

    Alaska Stations: Interpolated at 7 am

    ", "is_callout": true, "is_full_width": true, "is_hidden": false, @@ -1031,7 +1031,7 @@ { "embeddable": { "aspect_ratio_method": "DEFAULT", - "authored_state": null, + "authored_state": "", "click_to_play": false, "click_to_play_prompt": null, "enable_learner_state": false, @@ -1047,7 +1047,7 @@ "no_snapshots": false, "show_delete_data_button": false, "show_in_featured_question_report": true, - "url": "https://models-resources.concord.org/precip-models/lesson-4-ak-v3.html", + "url": "https://models-resources.concord.org/precip-models/Models-2021/lesson5-sliders.html\r\n", "type": "MwInteractive", "ref_id": "96961-MwInteractive", "linked_interactives": [] @@ -1446,7 +1446,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v5/lesson-6-post.json index d484cda2..1090281f 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-6-post.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-6-post.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v5/lesson-6-pre.json index 51b793bc..ae599e86 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-6-pre.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-6-pre.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-6.json b/src/public/offline-activities/precipitating-change-v5/lesson-6.json index af165dd7..bbe4d47d 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-6.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-6.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -258,6 +258,57 @@ }, "section": null }, + { + "embeddable": { + "name": "Front Direction Model Explanation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Front%20Direction%20Model%20Explanation.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2278-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, { "embeddable": { "aspect_ratio_method": "DEFAULT", @@ -277,7 +328,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson6-1-v1.html", + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson6-1-v1.html", "type": "MwInteractive", "ref_id": "97811-MwInteractive", "linked_interactives": [] @@ -303,6 +354,57 @@ "sidebar_title": "Did you know?", "toggle_info_assessment": false, "embeddables": [ + { + "embeddable": { + "name": "Speed of the Front Model", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Speed%20Front%20Model%20Explanation.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2279-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, { "embeddable": { "content": "

    Now that you have figured out which way the front is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it’s going to pass through there. Where the front is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the weather.

    \r\n

    To best predict where the front will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance divided by time). Once you know both speed and direction of the front, your weather analysis will help you answer the question, “Will it be raining in Anchorage?”

    \r\n

    The model below allows you to mark the fronts at three times and measure the distance between them. With the time and distance data you can calculate the approximate speed of the front and then calculate where it will be 24 hours after the last measurement. To do this you can use the tools built into this model.

    \r\n

    First, mark the fronts.

    \r\n

    • Click Setup and Run and see where the front forms. (Once the front has formed click Run again to turn it off.) See Mr. Neyhard's video for help.
    • Click Draw Line and use the mouse to mark the front. (Be sure the mouse stays inside the map while dragging.)  
    • You can always start over by clicking Clear Last Line or Clear All Lines
    • Repeat this for 9pm and 7am. You can turn Run off or click Setup again if the map gets too dark.

    \r\n

    Second, measure the distance between fronts.

    \r\n

    • Turn off Run and click show-distance?. Now, lines that you draw will show their length in kilometers. (You can click Setup to see the map more clearly.)
    • Draw a line from one front to the other to measure the distance between them. Start near Fairbanks because the front there will be close to where it will cross Anchorage. Do this for the distance between the first and second front and the second and third front.

    \r\n

    Third, calculate the speed of the front. See Mr. Neyhard's video for help.

    \r\n

    • Each set of data is separated by 10 hours.  
    • Divide the distance between the top and middle front by 10 to get the speed in kilometers per hour.
    • Divide the distance between the middle and bottom front by 10 to get the speed in kilometers per hour.
    • Average the two speeds by adding them together and then divide by 2.

    \r\n

    Finally, calculate the location of the front 24 hours later.

    \r\n

    • Mutliply the average speed by 24 hours to predict where it will be on April 23 at 7am.  
    • Will the front be on top of Anchorage? Should the NYO Games go on as planned?

    ", @@ -538,7 +640,7 @@ "no_snapshots": false, "show_delete_data_button": true, "show_in_featured_question_report": true, - "url": "https://project-resources.concord.org/precipitatingchange/Models-2021/lesson6-2.v1.html", + "url": "https://models-resources.concord.org/precip-models/Models-2021/lesson6-2.v1.html", "type": "MwInteractive", "ref_id": "97812-MwInteractive", "linked_interactives": [] @@ -569,7 +671,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v5/lesson-7.json b/src/public/offline-activities/precipitating-change-v5/lesson-7.json index e9322063..ef40b6fd 100644 --- a/src/public/offline-activities/precipitating-change-v5/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v5/lesson-7.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Jackie80_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -587,7 +587,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-manifests/precipitating-change-v5.json b/src/public/offline-manifests/precipitating-change-v5.json index f7c447a3..3c80db46 100644 --- a/src/public/offline-manifests/precipitating-change-v5.json +++ b/src/public/offline-manifests/precipitating-change-v5.json @@ -3,147 +3,116 @@ "activities": [ { "name": "Interview - Predicting the Weather Without the Weather Channel", - "contentUrl": "offline-activities/precipitating-change-v4/interview.json", + "contentUrl": "offline-activities/precipitating-change-v5/interview.json", "resourceUrl": "https://authoring.concord.org/activities/11559" }, { "name": "Lesson 1: Making an Initial Prediction", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-1.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-1.json", "resourceUrl": "https://authoring.concord.org/activities/11501" }, { "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-1-post.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-1-post.json", "resourceUrl": "https://authoring.concord.org/activities/11630" }, { "name": "Lesson 2: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-2-pre.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-2-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11565" }, { "name": "Lesson 2: Displaying Temperature Data ", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-2.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-2.json", "resourceUrl": "https://authoring.concord.org/activities/11526" }, { "name": "Lesson 2: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-2-post.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-2-post.json", "resourceUrl": "https://authoring.concord.org/activities/11581" }, { "name": " Lesson 3: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-3-pre.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-3-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11583" }, { "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-3.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-3.json", "resourceUrl": "https://authoring.concord.org/activities/11582" }, { "name": " Lesson 3: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-3-post.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-3-post.json", "resourceUrl": "https://authoring.concord.org/activities/11584" }, { "name": "Lesson 4: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-4-pre.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-4-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11586" }, { "name": "Lesson 4: Building Rules", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-4.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-4.json", "resourceUrl": "https://authoring.concord.org/activities/11585" }, { "name": "Lesson 4: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-4-post.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-4-post.json", "resourceUrl": "https://authoring.concord.org/activities/11587" }, { "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-5-pre.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-5-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11593" }, { "name": "Lesson 5: Identifying Air Masses", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-5.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-5.json", "resourceUrl": "https://authoring.concord.org/activities/11588" }, { "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-5-post.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-5-post.json", "resourceUrl": "https://authoring.concord.org/activities/11595" }, { "name": "Lesson 6: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-6-pre.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-6-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11590" }, { "name": "Lesson 6: Modeling Fronts", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-6.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-6.json", "resourceUrl": "https://authoring.concord.org/activities/11589" }, { "name": "Lesson 6: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-6-post.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-6-post.json", "resourceUrl": "https://authoring.concord.org/activities/11591" }, { "name": "Lesson 7: Analyzing Data and Making a Prediction", - "contentUrl": "offline-activities/precipitating-change-v4/lesson-7.json", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-7.json", "resourceUrl": "https://authoring.concord.org/activities/11592" } ], "cacheList": [ - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/abstraction.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/aggregation.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/air_moisture_fog-high.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/pattern-recognition.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/precipitation.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/weather.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Glossary/wind-direction.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/exptrapolation.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/extrapolation.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/AbstractionMovie.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/Aggregation.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/PatternRecognition.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/WindDirection.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/moisture-amount.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/precipitation_snow.mp4", - "https://cc-project-resources.s3.amazonaws.com/precipitatingchange/videos/weather-movie.mp4", "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_555555_256x240.png", "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_ffffff_256x240.png", "https://fonts.googleapis.com/css?family=Lato", - "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", - "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2", "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2", + "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", - "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", + "https://models-resources.concord.org/question-interactives/version/v0.6.1/image", + "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite", "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", @@ -177,8 +146,6 @@ "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", - "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Jackie80_Captioned.mp4", - "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/JackieLesson6_88_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png", @@ -215,25 +182,34 @@ "https://project-resources.concord.org/precipitatingchange/Glossary/RuleRefinement.png", "https://project-resources.concord.org/precipitatingchange/Glossary/abstraction.jpg", "https://project-resources.concord.org/precipitatingchange/Glossary/aggregation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/air_moisture_fog-high.jpg", "https://project-resources.concord.org/precipitatingchange/Glossary/ct-decomposition.jpg", "https://project-resources.concord.org/precipitatingchange/Glossary/exptrapolation.jpg", "https://project-resources.concord.org/precipitatingchange/Glossary/interpolation.jpg", - "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-1.html", - "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-2-colors-v3.html", - "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1.html", - "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson2-3-time-slider-v1a.html", - "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson3-1.v1.html", - "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson5-air-masses.v4-new.html", - "https://project-resources.concord.org/precipitatingchange/Models-2021/Lesson6-1-v1.html", - "https://project-resources.concord.org/precipitatingchange/Models-2021/lesson6-2.v1.html", + "https://project-resources.concord.org/precipitatingchange/Glossary/pattern-recognition.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/precipitation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/weather.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/wind-direction.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/exptrapolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/extrapolation.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction.mp4", "https://project-resources.concord.org/precipitatingchange/Sage2.png", "https://project-resources.concord.org/precipitatingchange/Sage4.png", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Jackie80_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson6_88_Captioned.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4", @@ -248,6 +224,17 @@ "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Front%20Direction%20Model%20Explanation.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Speed%20Front%20Model%20Explanation.mp4", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", "https://project-resources.concord.org/precipitatingchange/images-2021/AK-maps-at-3-times.png", "https://project-resources.concord.org/precipitatingchange/images-2021/AirMassMap-Colored.png", "https://project-resources.concord.org/precipitatingchange/images-2021/Alaska%20Weather%20Stations_7am%20Interpolated-w-coordinates.png", @@ -261,6 +248,7 @@ "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/sun.png", "https://project-resources.concord.org/precipitatingchange/images-2021/Temp-Moisture-Key.png", "https://project-resources.concord.org/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-base-map-with-rose.png", "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-3-unknowns2.png", "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-8-unknowns2.png", "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", @@ -270,14 +258,28 @@ "https://project-resources.concord.org/precipitatingchange/images/AKweightedneigborinterpolation.jpg", "https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png", "https://project-resources.concord.org/precipitatingchange/images/linearinterpolation.jpg", - "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", - "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", - "models-resources/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", - "models-resources/precip-models/ak-base-map-with-rose.png", + "https://project-resources.concord.org/precipitatingchange/videos/AbstractionMovie.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/Aggregation.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/PatternRecognition.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/WindDirection.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/moisture-amount.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/precipitation_snow_v2.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/weather-movie.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-base-map-wind-air-mass-adj.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-base-map-with-rose.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-w-cities-extended-for-color.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-w-cities.png", + "models-resources/precip-models/Models-2021/Lesson2-1.html", + "models-resources/precip-models/Models-2021/Lesson2-2-colors-v3.html", + "models-resources/precip-models/Models-2021/Lesson2-3-time-slider-v1.html", + "models-resources/precip-models/Models-2021/Lesson2-3-time-slider-v1a.html", + "models-resources/precip-models/Models-2021/Lesson3-1.v1.html", + "models-resources/precip-models/Models-2021/Lesson5-air-masses.v4-new.html", + "models-resources/precip-models/Models-2021/Lesson6-1-v1.html", + "models-resources/precip-models/Models-2021/lesson5-sliders.html\r\n", + "models-resources/precip-models/Models-2021/lesson6-2.v1.html", "models-resources/precip-models/ak-w-cities.png", - "models-resources/precip-models/lesson-4-ak-v3.html", "models-resources/precip-models/precip-rule-ak-v5.html", - "models-resources/question-interactives/version/v0.6.1/image/", "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/", "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.css", "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.js", @@ -300,4 +302,4 @@ "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.css", "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.js" ] -} +} \ No newline at end of file diff --git a/src/scripts/update-offline-manifest.config.ts b/src/scripts/update-offline-manifest.config.ts index 08a3e3b0..997010ac 100644 --- a/src/scripts/update-offline-manifest.config.ts +++ b/src/scripts/update-offline-manifest.config.ts @@ -2,7 +2,7 @@ export const config = { glossary: { - s3Url: "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v1.json?__noUrlRewrite", + s3Url: "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite", pluginUrl: "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", manifestUrl: "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json" }, From 3816facd5104f2b5c6d349332cb607c7140c3e2f Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 3 Apr 2021 01:55:49 -0400 Subject: [PATCH 208/242] manually re-add the proxied glossary plugin I left the un proxied so if the runtime is updated to stop proxing it, we don't have to update the manifest --- src/public/offline-manifests/precipitating-change-v5.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/public/offline-manifests/precipitating-change-v5.json b/src/public/offline-manifests/precipitating-change-v5.json index 3c80db46..0b7165c1 100644 --- a/src/public/offline-manifests/precipitating-change-v5.json +++ b/src/public/offline-manifests/precipitating-change-v5.json @@ -269,6 +269,8 @@ "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-base-map-with-rose.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-w-cities-extended-for-color.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-w-cities.png", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", "models-resources/precip-models/Models-2021/Lesson2-1.html", "models-resources/precip-models/Models-2021/Lesson2-2-colors-v3.html", "models-resources/precip-models/Models-2021/Lesson2-3-time-slider-v1.html", @@ -302,4 +304,4 @@ "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.css", "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.js" ] -} \ No newline at end of file +} From 75ccc6dbef72f8fe27d3fcc3c30f0c48475c8323 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Sat, 3 Apr 2021 02:28:30 -0400 Subject: [PATCH 209/242] improve script for building manifest - only update models-resource urls for iframes since those are the only ones we need proxy - pretend to be chrome when fetching so sites like google fonts return the same thing we'd get if running in the browser - add switch to not fetch the activities when running the script, this is helpful when checking the static analysis since the lara content might change - simplify the test of url re-writing to make it easier to see what gets re-written to what - stop re-writing the plugin urls because those are not iframes so do not need to be proxied - only add slashes when the urls are re-written, that was a case in the content of a image that didn't have a extension, and the added slash broke it - look into proxied iframe html files to pick up the assets referenced by them - look for css and script references in the iframe html - fetch css files and look for absolute urls in the css files - look for urls in the netlogo html files - look for urls in the html content of the activity --- src/lara-api.ts | 6 +- src/scripts/update-offline-manifest.ts | 31 ++++- src/utilities/activity-utils.test.ts | 39 +++--- src/utilities/activity-utils.ts | 157 +++++++++++++++++++++++-- 4 files changed, 200 insertions(+), 33 deletions(-) diff --git a/src/lara-api.ts b/src/lara-api.ts index 561df2b9..51b61927 100644 --- a/src/lara-api.ts +++ b/src/lara-api.ts @@ -1,6 +1,6 @@ import { sampleActivities, sampleSequences } from "./data"; import { Activity, Sequence } from "./types"; -import { isNotSampleActivityUrl, rewriteModelsResourcesUrls } from "./utilities/activity-utils"; +import { isNotSampleActivityUrl, rewriteProxiableIframeUrls } from "./utilities/activity-utils"; import { queryValue } from "./utilities/url-query"; export const getResourceUrl = (url?: string) => { @@ -13,7 +13,7 @@ export const getActivityDefinition = (activity: string): Promise => { if (isNotSampleActivityUrl(activity)) { fetchActivityDefinition(activity).then(resolve); } else if (sampleActivities[activity]) { - setTimeout(() => resolve(rewriteModelsResourcesUrls(sampleActivities[activity])), 250); + setTimeout(() => resolve(rewriteProxiableIframeUrls(sampleActivities[activity])), 250); } else { reject(`No sample activity matches ${activity}`); } @@ -29,7 +29,7 @@ const fetchActivityDefinition = (activityUrl: string): Promise => { return; } response.json() - .then((data) => resolve(rewriteModelsResourcesUrls(data))) + .then((data) => resolve(rewriteProxiableIframeUrls(data))) .catch(reject); }) .catch(function(err) { diff --git a/src/scripts/update-offline-manifest.ts b/src/scripts/update-offline-manifest.ts index 848e641d..7b690237 100644 --- a/src/scripts/update-offline-manifest.ts +++ b/src/scripts/update-offline-manifest.ts @@ -2,7 +2,8 @@ import fs from "fs"; import path from "path"; import { Activity, OfflineManifest, OfflineManifestActivity } from "../types"; import request from "superagent"; -import { getAllUrlsInActivity, removeDuplicateUrls, rewriteModelsResourcesUrl, walkObject } from "../utilities/activity-utils"; +import { getAllUrlsInActivity, removeDuplicateUrls, rewriteProxiableIframeUrls, + walkObject } from "../utilities/activity-utils"; import fetch from "node-fetch"; import { config } from "./update-offline-manifest.config"; @@ -14,9 +15,18 @@ interface BumpInfo { newVersionName: string; } -(global as any).fetch = fetch; +// pretend to be chrome, this helps with google fonts +// might be a problem if we want to support iPad offline +// This approach was taken from here: +// https://github.com/node-fetch/node-fetch/issues/591#issuecomment-474457866 +(global as any).fetch = (url:any , args:any = {}) => { + args.headers = args.headers || {} + args.headers["user-agent"] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" + return fetch(url, args); +} let bumpVersion = false; +let fetchActivities = true; const die = (message: string) => { console.error(message); @@ -30,6 +40,7 @@ const getManifestPath = () => { const filename = nonOptions[0]; bumpVersion = options.indexOf("--bump-version") !== -1; + fetchActivities = !(options.indexOf("--no-fetch-activities") !== -1); if (!filename) { die("Usage: npm run update-offline-manifest "); @@ -65,7 +76,8 @@ const getActivity = async (offlineActivity: OfflineManifestActivity): Promise { if (bumpInfo) { saveActivity(bumpInfo, offlineActivity, activity); } + + // Replace the iframe urls with models-resources when we can + // But do this after we save the activity since the same thing is going + // to be applied at runtime + // Perhaps we want to change this behavior to simplify the runtime. + // Also it would be useful if this function told us about iframe urls + // that can't be re-written because these will likely fail when offline + rewriteProxiableIframeUrls(activity); + const urls = await getAllUrlsInActivity(activity); console.log(` found ${urls.length} urls ...`); cacheList.push(...urls); } }, Promise.resolve()); - cacheList = removeDuplicateUrls(cacheList.map(rewriteModelsResourcesUrl)); + cacheList = removeDuplicateUrls(cacheList); cacheList.sort(); // const oldMissingUrls = manifestJSON.cacheList.filter(url => cacheList.indexOf(url) === -1); diff --git a/src/utilities/activity-utils.test.ts b/src/utilities/activity-utils.test.ts index 4854f951..d1fa7344 100644 --- a/src/utilities/activity-utils.test.ts +++ b/src/utilities/activity-utils.test.ts @@ -155,6 +155,13 @@ describe("Activity utility functions", () => { "https://models-resources.concord.org/question-interactives/branch/master/multiple-choice/", "https://models-resources.concord.org/question-interactives/branch/master/open-response/", "https://connected-bio-spaces.concord.org/", + "https://s-media-cache-ak0.pinimg.com/originals/73/ec/f3/73ecf348c3ef190be4e8c4a3269fc0d8.jpg", + // This is an example of a href link that we wouldn't want to cache, + // but at the same time we probably want to know about it to warn the author + // This particular one is further complicated because it is inside of a description + // that is only shown at authoring time, so our getAllUrlsInActivity could be + // smarter about this + "https://connected-bio-spaces.concord.org/?authoring", "https://www.wikipedia.org/" ]); @@ -189,23 +196,25 @@ describe("Activity utility functions", () => { }); it("rewrites some domains to models-resources with trailing slash", () => { - const protocols = ["http", "https"]; const rewriteMap: Record = { - "models-resources.concord.org/foo": "models-resources/foo/", - "models-resources.s3.amazonaws.com/foo": "models-resources/foo/", - "test-plugin.concord.org/foo": "models-resources/test-plugin/foo/", - "non-rewritten-domain.com/foo": "__PROTOCOL__://non-rewritten-domain.com/foo/" + "https://models-resources.concord.org/foo": "models-resources/foo/", + "https://models-resources.concord.org/foo/": "models-resources/foo/", + "https://models-resources.concord.org/foo/image.jpg": "models-resources/foo/image.jpg", + "https://models-resources.s3.amazonaws.com/foo": "models-resources/foo/", + "https://models-resources.s3.amazonaws.com/foo/": "models-resources/foo/", + "https://models-resources.s3.amazonaws.com/foo/image.jpg": "models-resources/foo/image.jpg", + // NOTE how non-rewritten urls do not have slashes appended + "https://non-rewritten-domain.com/foo": "https://non-rewritten-domain.com/foo", + "https://non-rewritten-domain.com/foo/": "https://non-rewritten-domain.com/foo/" }; - protocols.forEach(protocol => { - Object.keys(rewriteMap).forEach(domainAndPath => { - const url = `${protocol}://${domainAndPath}`; - const rewriteUrl = rewriteMap[domainAndPath].replace("__PROTOCOL__", protocol); - const noRewriteUrl = `${url}?__noUrlRewrite`.replace("__PROTOCOL__", protocol); - - expect(rewriteModelsResourcesUrl(url)).toBe(rewriteUrl); - expect(rewriteModelsResourcesUrl(`${url}/`)).toBe(rewriteUrl); - expect(rewriteModelsResourcesUrl(noRewriteUrl)).toBe(noRewriteUrl); - }); + Object.keys(rewriteMap).forEach(url => { + expect(rewriteModelsResourcesUrl(url)).toBe(rewriteMap[url]); + }); + // Check them all with http for completeness + Object.keys(rewriteMap).forEach(url => { + const httpUrl = url.replace("https://", "http://"); + const rewrittenUrl = rewriteMap[url].replace("https://", "http://"); + expect(rewriteModelsResourcesUrl(httpUrl)).toBe(rewrittenUrl); }); }); }); diff --git a/src/utilities/activity-utils.ts b/src/utilities/activity-utils.ts index aad77683..779c1cf1 100644 --- a/src/utilities/activity-utils.ts +++ b/src/utilities/activity-utils.ts @@ -214,42 +214,105 @@ export const walkObject = (activityNode: any, stringCallback: (s: string, key?: export const rewriteModelsResourcesUrl = (oldUrl: string) => { const httpRegex = /https?:\/\//; - const noRewriteRegex = /__noUrlRewrite/; - if (httpRegex.test(oldUrl) && !noRewriteRegex.test(oldUrl)) { + if (httpRegex.test(oldUrl)) { const serverRewrite = oldUrl .replace(/https?:\/\/models-resources\.concord\.org/, "models-resources") - .replace(/https?:\/\/models-resources\.s3\.amazonaws\.com/, "models-resources") - .replace(/https?:\/\/((.+)-plugin)\.concord\.org/, "models-resources/$1"); + .replace(/https?:\/\/models-resources\.s3\.amazonaws\.com/, "models-resources"); // NP: 2021-03-29 S3 resources without terminal slashes seem to fail. regexr.com/5pkc0 - const missingSlashRegex = /\/[^./"]+$/; // URLS with extensions are fine eg *.png - if(missingSlashRegex.test(serverRewrite)) { - return `${serverRewrite}/`; // Add a slash to URLs missing them. + // SC: 2021-04-02 Only do this if they have been modified to go through the proxy + if (serverRewrite !== oldUrl) { + const missingSlashRegex = /\/[^./"]+$/; // URLS with extensions are fine eg *.png + if(missingSlashRegex.test(serverRewrite)) { + return `${serverRewrite}/`; // Add a slash to URLs missing them. + } } return serverRewrite; } return oldUrl; }; -export const rewriteModelsResourcesUrls = (activity: Activity) => { +export const processIframeUrls = (activity: Activity, stringCallback: (s: string) => string) => { + activity.pages.forEach(page => { + page.embeddables.forEach(embeddableWrapper => { + const embeddable = embeddableWrapper.embeddable; + if (embeddable.type === "ManagedInteractive" && embeddable?.library_interactive?.data) { + const data = embeddable.library_interactive.data; + data.base_url = stringCallback(data.base_url); + } + if (embeddable.type === "MwInteractive" && embeddable.url) { + embeddable.url = stringCallback(embeddable.url); + } + }); + }); +}; + +export const rewriteProxiableIframeUrls = (activity: Activity) => { // do not rewrite urls when running in Cypress, otherwise the sample activity iframes do not load causing timeouts if (runningInCypress) { return activity;} - walkObject(activity, (s) => rewriteModelsResourcesUrl(s)); + processIframeUrls(activity, rewriteModelsResourcesUrl); return activity; }; -export const isExternalOrModelsResourcesUrl = (url: string) => /^(\s*https?:\/\/|models-resources)/.test(url); +export const isExternalOrModelsResourcesUrl = (url: string) => /^(\s*https?:\/\/|models-resources\/)/.test(url); export const removeDuplicateUrls = (urls: string[]) => urls.filter((url, index) => urls.indexOf(url) === index); +export const matchAllFirstGroup = (stringToSearch: string, regExp: RegExp): string[] => { + const results: string[] = []; + let match; + + while ((match = regExp.exec(stringToSearch)) !== null) { + results.push(match[1]); + } + return results; +}; + + +export const getUrlsInString = (stringToSearch: string): string[] => { + return matchAllFirstGroup(stringToSearch, /"(https?:\/\/[^"]*)"/g); +}; + +// Find nonCSS assets +// These are heuristics based on our limited set of files +export const getAssetsInHtml = (htmlString: string): string[] => { + + //
    diff --git a/src/install.html b/src/install.html index 5cebf808..3b063863 100644 --- a/src/install.html +++ b/src/install.html @@ -6,9 +6,6 @@ -
    diff --git a/src/service-worker.ts b/src/service-worker.ts index 041a90af..3deaa1ba 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -2,8 +2,6 @@ import "ts-polyfill"; declare const self: ServiceWorkerGlobalScope; -const versionInfo = "__SERVICE_WORKER_VERSION_INFO__"; // replaced by webpack using string-replace-loader - import { WorkboxPlugin } from "workbox-core"; import { registerRoute } from "workbox-routing"; import { CacheOnly, NetworkFirst } from "workbox-strategies"; @@ -256,7 +254,7 @@ addEventListener("message", (event) => { case "GET_VERSION_INFO": console.log("Got version info request"); - event.ports[0].postMessage(versionInfo); + event.ports[0].postMessage(__VERSION_INFO__); break; } } diff --git a/webpack.config.js b/webpack.config.js index 573f6a6d..2358de19 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,6 +1,7 @@ "use strict"; const fs = require("fs"); +const path = require("path"); const crypto = require("crypto"); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const HtmlWebpackPlugin = require("html-webpack-plugin"); @@ -9,21 +10,29 @@ const CopyWebpackPlugin = require("copy-webpack-plugin"); const HtmlReplaceWebpackPlugin = require('html-replace-webpack-plugin'); const GitRevPlugin = require('git-rev-webpack-plugin'); const {InjectManifest} = require('workbox-webpack-plugin'); +const webpack = require('webpack'); const version = require("./package.json").version; const gitRevPlugin = new GitRevPlugin(); -const versionInfo = `Version ${version} (${gitRevPlugin.hash()} / **SERVICE_WORKER_HASH**)`; - -const versionInfoReplacer = () => { +const serviceWorkerSrcPath = path.join(__dirname, "src/service-worker.ts"); +const versionInfo = () => { // this is done dynamically so that it is updated after each build const hash = crypto.createHash("sha256"); const serviceWorkerHash = hash - .update(fs.readFileSync('./src/service-worker.ts').toString()) + .update(fs.readFileSync(serviceWorkerSrcPath).toString()) .digest("hex") .substr(0, 8); - return versionInfo.replace("**SERVICE_WORKER_HASH**", serviceWorkerHash); + // This is injected in source, so quotes are necessary + return `"Version ${version} (git:${gitRevPlugin.hash()}, sw:${serviceWorkerHash})"`; } +const definePlugin = new webpack.DefinePlugin({ + // This has a dependency on serviceWorkSrcPath so all configs are rebuilt when that + // file changes. It is also dependent on package.json and git, but getting those to + // work seems more complicated and not worth the effort + __VERSION_INFO__: webpack.DefinePlugin.runtimeValue(versionInfo, [serviceWorkerSrcPath]), +}); + module.exports = (env, argv) => { const devMode = argv.mode !== "production"; @@ -65,14 +74,6 @@ module.exports = (env, argv) => { } ] }, - { - test: /service-worker\.ts$/, - loader: 'string-replace-loader', - options: { - search: '__SERVICE_WORKER_VERSION_INFO__', - replace: versionInfoReplacer, - } - }, { test: /\.ts$/, loader: "ts-loader", @@ -88,7 +89,10 @@ module.exports = (env, argv) => { resolve: { extensions: [ ".ts", ".js" ] }, - devServer + devServer, + plugins: [ + definePlugin + ] }, // install (auto-bundled into install.html) @@ -117,14 +121,6 @@ module.exports = (env, argv) => { } ] }, - { - test: /service-worker\.ts$/, - loader: 'string-replace-loader', - options: { - search: '__SERVICE_WORKER_VERSION_INFO__', - replace: versionInfoReplacer, - } - }, { test: /\.tsx?$/, loader: "ts-loader" @@ -216,12 +212,7 @@ module.exports = (env, argv) => { hash: true, append: false // prepend this before the main js file }), - new HtmlReplaceWebpackPlugin([ - { - pattern: '__APP_VERSION_INFO__', - replacement: versionInfoReplacer - } - ]), + definePlugin, ] }, @@ -323,12 +314,6 @@ module.exports = (env, argv) => { filename: "index.html", template: "src/index.html" }), - new HtmlReplaceWebpackPlugin([ - { - pattern: '__APP_VERSION_INFO__', - replacement: versionInfoReplacer - } - ]), new CopyWebpackPlugin({ patterns: [ {from: "src/public"} @@ -357,7 +342,8 @@ module.exports = (env, argv) => { {url: "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", revision: null} ], maximumFileSizeToCacheInBytes: 1024 * 1024 * 10 - }) + }), + definePlugin, ] } From b3bdc61497c6850d5cf2fe13af889ed8cdb52d83 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 6 Apr 2021 11:12:45 -0400 Subject: [PATCH 222/242] Fix failing jest. If there is no metadata, updateAnswers fails. [#177479032] Story: https://www.pivotaltracker.com/story/show/177479032 --- src/storage/firebase-db.test.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/storage/firebase-db.test.ts b/src/storage/firebase-db.test.ts index cdc522cb..2ba4dc50 100644 --- a/src/storage/firebase-db.test.ts +++ b/src/storage/firebase-db.test.ts @@ -49,7 +49,7 @@ describe("Firestore", () => { expect(signInWithCustomTokenMock).toHaveBeenCalledWith("test"); }); - it("does nothing in the absence of metadata", () => { + it("Throws exception without metadata", () => { const embeddable = { ...DefaultManagedInteractive, authored_state: `{"version":1,"questionType":"open_response","prompt":"

    Write something:

    "}`, @@ -62,10 +62,7 @@ describe("Firestore", () => { }; const exportableAnswer = getAnswerWithMetadata(interactiveState, embeddable) as IExportableAnswerMetadata; - - createOrUpdateAnswer(exportableAnswer); - - expect(appMock.firestore().doc().set).not.toHaveBeenCalled(); + expect(() => createOrUpdateAnswer(exportableAnswer) ).toThrow("No portal Data"); }); it("creates answers with the correct metadata for authenticated users", () => { From 6cdd094a03f760835105f26d3007532190823cff Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 6 Apr 2021 11:13:52 -0400 Subject: [PATCH 223/242] Remove fake waiting promise, track real promises. [#177646735] https://www.pivotaltracker.com/story/show/177646735 --- src/storage/storage-facade.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index 116b901e..dedfc600 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -437,11 +437,6 @@ class DexieStorageProvider implements IStorageInterface { return Promise.resolve(fsProvider); } - // This is hack to simulate requests taking some time. - fakeWaitingPromise(timeToResolve=5000) { - return new Promise((res) => window.setTimeout(()=> res(), timeToResolve)); - } - syncData(): Promise { const portalData = this.portalData; if(portalData) { @@ -460,7 +455,6 @@ class DexieStorageProvider implements IStorageInterface { for(const answer of answers) { mySyncTracker.addPromise(fsProvider.createOrUpdateAnswer(answer)); } - return this.fakeWaitingPromise(); }); }); From 7dab3a729d223eb63ac1f735458bc72f6ec10d9d Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 6 Apr 2021 15:30:32 -0400 Subject: [PATCH 224/242] Add batch send for student answers. [#177646735] https://www.pivotaltracker.com/story/show/177646735 --- src/storage/firebase-db.ts | 18 ++++++++++++++++-- src/storage/storage-facade.ts | 12 +++++++----- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/storage/firebase-db.ts b/src/storage/firebase-db.ts index d3ad4b7e..48f2f9c6 100644 --- a/src/storage/firebase-db.ts +++ b/src/storage/firebase-db.ts @@ -231,7 +231,7 @@ export const watchAllAnswers = (callback: (wrappedAnswer: IWrappedDBAnswer[]) => }); }; -export function createOrUpdateAnswer(answer: IExportableAnswerMetadata) { +function prepareAnswerForFireStore(answer: IExportableAnswerMetadata) { if (!portalData) { throw("No portal Data"); } let answerDocData: LTIRuntimeAnswerMetadata | AnonymousRuntimeAnswerMetadata; @@ -262,6 +262,11 @@ export function createOrUpdateAnswer(answer: IExportableAnswerMetadata) { }; answerDocData = anonymousAnswer; } + return answerDocData; +} + +export function createOrUpdateAnswer(answer: IExportableAnswerMetadata) { + const answerDocData = prepareAnswerForFireStore(answer); // TODO: LARA stores a created field with the date the answer was created // I'm not sure how to do that easily in Firestore, we could at least add @@ -271,10 +276,19 @@ export function createOrUpdateAnswer(answer: IExportableAnswerMetadata) { .set(answerDocData as Partial, {merge: true}); requestTracker.registerRequest(firestoreSetPromise); - return firestoreSetPromise; } +export function batchCreateOrUpdateAnswers(answers: Array) { + const batch = app.firestore().batch(); + for(const answer of answers) { + const answerDocData = prepareAnswerForFireStore(answer); + const doc = app.firestore().doc(answersPath(answer.id)); + batch.set(doc, answerDocData, {merge: true}); + } + return batch.commit(); +} + export const getLearnerPluginStateDocId = (pluginId: number) => { if (!portalData) { return undefined; diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index dedfc600..b7bbf9db 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -169,6 +169,9 @@ class FireStoreStorageProvider implements IStorageInterface { createOrUpdateAnswer(answer: IExportableAnswerMetadata) { return FirebaseImp.createOrUpdateAnswer(answer); } + batchCreateOrUpdateAnswers(answers: Array) { + return FirebaseImp.batchCreateOrUpdateAnswers(answers); + } async getLearnerPluginState(pluginId: number, resourceUrl: string) { if (getCachedLearnerPluginState(pluginId, resourceUrl)) { @@ -442,6 +445,8 @@ class DexieStorageProvider implements IStorageInterface { if(portalData) { // DataSyncTracker will emit an event that tells plugins // that we are online, and its time to save data: + // NOTE: We wait 5 seconds to hear from plugins so saving will never + // complete in less than 5 seconds. const mySyncTracker = new DataSyncTracker(60 * 30, 5); const portalResourceUrl = portalData.resourceUrl; // Save student answers ... @@ -451,10 +456,7 @@ class DexieStorageProvider implements IStorageInterface { .where({resource_url: portalResourceUrl}) .toArray() .then((answers) => { - console.dir(answers); - for(const answer of answers) { - mySyncTracker.addPromise(fsProvider.createOrUpdateAnswer(answer)); - } + mySyncTracker.addPromise(fsProvider.batchCreateOrUpdateAnswers(answers)); }); }); @@ -471,7 +473,7 @@ class DexieStorageProvider implements IStorageInterface { for(const pState of savedPluginStates) { const {pluginId, state} = pState; if(state) { - // TODO: Look into FireStore Batch operations + // We could opt for batch operations in the future... mySyncTracker.addPromise(fsProvider.setLearnerPluginState(pluginId, portalResourceUrl, state)); } } From b5aa9fca4cc08d266fd0d9cb5041bce9bce6c20d Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 6 Apr 2021 15:31:10 -0400 Subject: [PATCH 225/242] Increase size of "Sending" message, add big progress icon. [#177646735] https://www.pivotaltracker.com/story/show/177646735 --- src/assets/svg-icons/icon-clock-spin.svg | 11 +++++++++ .../report-backup-options.scss | 18 ++++++++++++++ .../report-backup-options.tsx | 24 ++++++++++++++++--- 3 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 src/assets/svg-icons/icon-clock-spin.svg diff --git a/src/assets/svg-icons/icon-clock-spin.svg b/src/assets/svg-icons/icon-clock-spin.svg new file mode 100644 index 00000000..09ad22d6 --- /dev/null +++ b/src/assets/svg-icons/icon-clock-spin.svg @@ -0,0 +1,11 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/components/activity-completion/report-backup-options.scss b/src/components/activity-completion/report-backup-options.scss index 896f1afe..3ad71e14 100644 --- a/src/components/activity-completion/report-backup-options.scss +++ b/src/components/activity-completion/report-backup-options.scss @@ -45,6 +45,24 @@ } } } + + .sending-text { + font-size: large; + font-weight: bold; + } + .sending-icon { + width: 100%; + padding: 30%; + svg { + &.progress { + stroke: $cc-orange-dark1; + stroke-width: 10; + fill: none; + stroke-linecap: round; + stroke-miterlimit: 10; + } + } + } h2 { border-bottom: solid 1px $cc-charcoal-light2; margin: 0 0 10px; diff --git a/src/components/activity-completion/report-backup-options.tsx b/src/components/activity-completion/report-backup-options.tsx index 7c06d339..df897a7d 100644 --- a/src/components/activity-completion/report-backup-options.tsx +++ b/src/components/activity-completion/report-backup-options.tsx @@ -5,6 +5,7 @@ import IconHelp from "../../assets/svg-icons/icon-help.svg"; import { getStorage } from "../../storage/storage-facade"; import IconComplete from "../../assets/svg-icons/icon-check-circle.svg"; import IconIncomplete from "../../assets/svg-icons/icon-unfinished-check-circle.svg"; +import IconSpin from "../../assets/svg-icons/icon-clock-spin.svg"; import "./report-backup-options.scss"; @@ -30,7 +31,16 @@ export class ReportBackupOptions extends React.PureComponent { this.setState({ activityJSON: JSON.stringify(activityJSONComplete), filename }); } - render() { + renderProgress() { + return( +
    +

    Reporting/Backing Up My Work

    +
    Sending ...
    +
    +
    + ); + } + renderButtons() { const { activityJSON, lastSend, filename, sending } = this.state; const bb = new Blob([activityJSON], { type: "text/plain" }); const activityLink = window.URL.createObjectURL(bb); @@ -49,8 +59,8 @@ export class ReportBackupOptions extends React.PureComponent { : () => null; const reportButtonLabel = sending - ? "sending ..." - : "Report My Work"; + ? <>Sending...   + : <>Report My Work; const successLabel = lastSend != null ? lastSend ? : : ""; @@ -70,4 +80,12 @@ export class ReportBackupOptions extends React.PureComponent {
    ); } + + render(){ + const { sending } = this.state; + return (sending + ? this.renderProgress() + : this.renderButtons() + ); + } } From a9c8611058d27bd58af876020a39ed20e6733f36 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 6 Apr 2021 15:37:11 -0400 Subject: [PATCH 226/242] Update glossary urls in offline manifest config to latest version --- src/scripts/update-offline-manifest.config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/update-offline-manifest.config.ts b/src/scripts/update-offline-manifest.config.ts index 997010ac..45e744df 100644 --- a/src/scripts/update-offline-manifest.config.ts +++ b/src/scripts/update-offline-manifest.config.ts @@ -3,8 +3,8 @@ export const config = { glossary: { s3Url: "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite", - pluginUrl: "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", - manifestUrl: "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json" + pluginUrl: "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + manifestUrl: "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json" }, questionInteractives: { version: "v1.2.0-pre.1" From 489ebcbbf39bc6895b46f5cdb074c6762ac760a2 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 6 Apr 2021 15:43:27 -0400 Subject: [PATCH 227/242] Small cleanup [#177646735] https://www.pivotaltracker.com/story/show/177646735 --- .../report-backup-options.tsx | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/src/components/activity-completion/report-backup-options.tsx b/src/components/activity-completion/report-backup-options.tsx index df897a7d..96e826b3 100644 --- a/src/components/activity-completion/report-backup-options.tsx +++ b/src/components/activity-completion/report-backup-options.tsx @@ -33,13 +33,13 @@ export class ReportBackupOptions extends React.PureComponent { renderProgress() { return( -
    -

    Reporting/Backing Up My Work

    + <>
    Sending ...
    -
    + ); } + renderButtons() { const { activityJSON, lastSend, filename, sending } = this.state; const bb = new Blob([activityJSON], { type: "text/plain" }); @@ -65,27 +65,31 @@ export class ReportBackupOptions extends React.PureComponent { ? lastSend ? : : ""; return ( -
    -

    Reporting/Backing Up My Work

    -
    - - -

    Share any work you have done in this activity with your teacher. You will have to be connected to the internet.

    -
    -
    - Back Up My Work - -

    Back up your answers to create a desktop file that you can send to your teacher by email.

    -
    -
    + <> +
    + + +

    Share any work you have done in this activity with your teacher. You will have to be connected to the internet.

    +
    +
    + Back Up My Work + +

    Back up your answers to create a desktop file that you can send to your teacher by email.

    +
    + ); } render(){ const { sending } = this.state; - return (sending - ? this.renderProgress() - : this.renderButtons() + return ( +
    +

    Reporting/Backing Up My Work

    + { sending + ? this.renderProgress() + : this.renderButtons() + } +
    ); } } From 971c5d3d47aec246d3b8a407dce0178c26466a64 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 6 Apr 2021 16:09:57 -0400 Subject: [PATCH 228/242] Only start installing if the service worker version matches This prevents the situation where the files start installing before the service worker is updated. Often when the install page is updated, the service worker needs to be updated too, so this insures the the two versions match before running the install. --- src/components/install-app.tsx | 106 +++++++++++++++++++++++++-------- src/service-worker.ts | 8 ++- 2 files changed, 86 insertions(+), 28 deletions(-) diff --git a/src/components/install-app.tsx b/src/components/install-app.tsx index df83fa23..5edf958d 100644 --- a/src/components/install-app.tsx +++ b/src/components/install-app.tsx @@ -1,6 +1,6 @@ import React from "react"; import { isOfflineHost } from "../utilities/host-utils"; -import { Workbox } from "workbox-window/index"; +import { Workbox, messageSW } from "workbox-window/index"; import queryString from "query-string"; import { getOfflineManifest, saveOfflineManifestToOfflineActivities, cacheUrlsWithProgress } from "../offline-manifest-api"; @@ -15,13 +15,14 @@ interface IState { offlineManifestId?: string; installedApplicationUrls: {success: boolean; url: string}[]; installedContentUrls: {success: boolean; url: string}[]; + shouldStartInstalling: boolean; } interface IProps { } export class InstallApp extends React.PureComponent { private wb: Workbox; - + private startedInstalling = false; public constructor(props: IProps) { super(props); @@ -31,7 +32,8 @@ export class InstallApp extends React.PureComponent { this.state = { loadingOfflineManifest: false, installedApplicationUrls: [], - installedContentUrls: [] + installedContentUrls: [], + shouldStartInstalling: false }; // TODO: show some useful message incase some one loads this page from a // non offline host, or in a browser without service worker support @@ -46,7 +48,8 @@ export class InstallApp extends React.PureComponent { loadingOfflineManifest, offlineManifestId, installedApplicationUrls: [], - installedContentUrls: [] + installedContentUrls: [], + shouldStartInstalling: false }; this.wb = new Workbox("service-worker.js"); @@ -60,32 +63,72 @@ export class InstallApp extends React.PureComponent { this.wb.messageSkipWaiting(); }); + this.wb.addEventListener("activated", (event) => { + // Notes on when this fires: + // 1. On Page Load: this only fires if there isn't an active service worker. + // So it will only fire the first time a user visits the page. + // 2. On SW Update: This will also fire when the page is already loaded and + // a new version of the service worker becomes active. In this case + // Workbox is supposed to tell us with `event.isUpdate` + if (event.isUpdate) { + console.log("Workbox found an updated service worker has activated."); + if (!event.sw) { + // This should not happen + console.error("Worbox activated event without sw.", event); + this.setState({serviceWorkerVersionInfo: "Unknown worker activated..."}); + } else { + this.getSWVersionInfoAndUpdateState(event.sw); + } + } else { + console.log("Workbox found the initial service worker has activated."); + } + }); + navigator.serviceWorker.ready.then(registration => { - // Cache the application as soon as there is an active service worker - // it doesn't matter if the serivce worker is controlling the page because - // the fetches are done by the service worker not the page - this.cacheApplication(); + console.log("Browser says service worker is ready."); + + // This promise should resolve on every page load once the service + // work becomes active. If the page is loaded in a way without a SW then + // it would never resolve. + + // The registration.active is supposed to be set based on the docs for the ready + // promise: https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/ready + if (registration.active) { + this.getSWVersionInfoAndUpdateState(registration.active); + } else { + console.error("browser did not provide the active service worker"); + } }); this.wb.register().then((_registration) => { console.log("Workbox register() promise resolved", _registration); - - console.log("Sending GET_VERSION_INFO to service worker..."); - this.setState({serviceWorkerVersionInfo: "Checking..."}); - this.wb.messageSW({type: "GET_VERSION_INFO"}) - .then((versionInfo: unknown) => { - if (typeof versionInfo === "string") { - this.setState({serviceWorkerVersionInfo: versionInfo}); - } else { - this.setState({serviceWorkerVersionInfo: "Invalid response!"}); - } - }) - .catch(() => { - this.setState({serviceWorkerVersionInfo: "No response!"}); - }); }); } + async getSWVersionInfoAndUpdateState(sw: ServiceWorker) { + this.setState({serviceWorkerVersionInfo: "Checking..."}); + + const serviceWorkerVersionInfo = await this.getSWVersionInfo(sw); + this.setState({serviceWorkerVersionInfo}); + if (serviceWorkerVersionInfo === __VERSION_INFO__) { + this.setState({shouldStartInstalling: true}); + } + } + + async getSWVersionInfo(sw: ServiceWorker): Promise { + try { + const versionInfo = await messageSW(sw, {type: "GET_VERSION_INFO"}); + console.log("got service worker version info", versionInfo); + if (typeof versionInfo === "string") { + return versionInfo as string; + } else { + return "Invalid response!"; + } + } catch (error) { + return "No response!"; + } + } + addInstalledApplicationUrl(success:boolean, url:string) { this.setState((prevState) => { const updatedUrls = prevState.installedApplicationUrls.concat([{success, url}]); @@ -100,7 +143,13 @@ export class InstallApp extends React.PureComponent { }); } - cacheApplication() { + async cacheApplication() { + // double check we haven't already started + if (this.startedInstalling) { + return; + } + + this.startedInstalling = true; const wbManifest = (window as any).__wbManifest; // FIXME: this caching is going to happen after the initial page load @@ -164,7 +213,7 @@ export class InstallApp extends React.PureComponent { workbox: this.wb, urls: appUrls, onCachingStarted: (urls) => { - console.log("stared caching application"); + console.log("started caching application"); }, onUrlCached: (url) => { console.log(`cached url ${url}`); @@ -205,7 +254,11 @@ export class InstallApp extends React.PureComponent { render() { const {serviceWorkerVersionInfo, offlineManifest, offlineManifestId, loadingOfflineManifest, installedApplicationUrls, - installedContentUrls} = this.state; + installedContentUrls, shouldStartInstalling} = this.state; + + if (shouldStartInstalling && !this.startedInstalling) { + this.cacheApplication(); + } const installedItems = installedApplicationUrls.map(urlInfo => { return ( @@ -231,6 +284,9 @@ export class InstallApp extends React.PureComponent { Application: {__VERSION_INFO__} {serviceWorkerVersionInfo && ` | Service Worker: ${serviceWorkerVersionInfo}`}
    +
    + { !shouldStartInstalling && "Waiting for service worker to update..." } +

    Application Files

    {installedItems}

    Content Files

    diff --git a/src/service-worker.ts b/src/service-worker.ts index 3deaa1ba..bed38253 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -19,6 +19,10 @@ const ignoredGets: RegExp[] = [ /https:\/\/learn\.(staging\.)?concord\.org\/.*/ // portal apis when launached from the portal ]; +// Disable the noisy workbox dev logs. +// If you are debugging a stragegy issue turning these on can be useful +(self as any).__WB_DISABLE_DEV_LOGS = true; + /** Strip out the __WB_REVISION__ parameter Note this also escapes the parameters, so it needs to be applied to both the @@ -248,16 +252,14 @@ addEventListener("message", (event) => { if (event.data) { switch (event.data.type) { case "SKIP_WAITING": - console.log("Calling skipWaiting() from service worker..."); self.skipWaiting(); break; case "GET_VERSION_INFO": - console.log("Got version info request"); event.ports[0].postMessage(__VERSION_INFO__); break; } } }); -console.log("hello from the compiled service-worker!!!!!"); +console.log("Service Worker started. version: ", __VERSION_INFO__); From 0f4e00490e8483990c725d5cca2ed84fbe31c2fb Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Tue, 6 Apr 2021 17:12:18 -0400 Subject: [PATCH 229/242] per feedback remove redundant sending checks [#177646735] https://www.pivotaltracker.com/story/show/177646735 --- .../activity-completion/report-backup-options.tsx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/components/activity-completion/report-backup-options.tsx b/src/components/activity-completion/report-backup-options.tsx index 96e826b3..e11f7155 100644 --- a/src/components/activity-completion/report-backup-options.tsx +++ b/src/components/activity-completion/report-backup-options.tsx @@ -41,11 +41,11 @@ export class ReportBackupOptions extends React.PureComponent { } renderButtons() { - const { activityJSON, lastSend, filename, sending } = this.state; + const { activityJSON, lastSend, filename } = this.state; const bb = new Blob([activityJSON], { type: "text/plain" }); const activityLink = window.URL.createObjectURL(bb); const storage = getStorage(); - const reportButtonDisabled = (!storage.canSyncData()) || sending; + const reportButtonDisabled = !storage.canSyncData(); const reportOptionClass = reportButtonDisabled ? "report-backup-option disabled" : "report-backup-option"; @@ -58,16 +58,13 @@ export class ReportBackupOptions extends React.PureComponent { } : () => null; - const reportButtonLabel = sending - ? <>Sending...   - : <>Report My Work; const successLabel = lastSend != null ? lastSend ? : : ""; return ( <>
    - +

    Share any work you have done in this activity with your teacher. You will have to be connected to the internet.

    From ad7d036fe5030c373f2aee39b7ef085704cfcdc9 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 6 Apr 2021 20:37:41 -0400 Subject: [PATCH 230/242] initial copy of v5 --- .../precipitating-change-v6/interview.json | 443 +++ .../lesson-1-post.json | 239 ++ .../precipitating-change-v6/lesson-1.json | 1251 +++++++ .../lesson-2-post.json | 231 ++ .../precipitating-change-v6/lesson-2-pre.json | 231 ++ .../precipitating-change-v6/lesson-2.json | 2957 +++++++++++++++++ .../lesson-3-post.json | 188 ++ .../precipitating-change-v6/lesson-3-pre.json | 188 ++ .../precipitating-change-v6/lesson-3.json | 1019 ++++++ .../lesson-4-post.json | 188 ++ .../precipitating-change-v6/lesson-4-pre.json | 188 ++ .../precipitating-change-v6/lesson-4.json | 809 +++++ .../lesson-5-post.json | 231 ++ .../precipitating-change-v6/lesson-5-pre.json | 231 ++ .../precipitating-change-v6/lesson-5.json | 1465 ++++++++ .../lesson-6-post.json | 188 ++ .../precipitating-change-v6/lesson-6-pre.json | 188 ++ .../precipitating-change-v6/lesson-6.json | 690 ++++ .../precipitating-change-v6/lesson-7.json | 606 ++++ .../precipitating-change-v6.json | 307 ++ 20 files changed, 11838 insertions(+) create mode 100644 src/public/offline-activities/precipitating-change-v6/interview.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-1-post.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-1.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-2-post.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-2-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-2.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-3-post.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-3-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-3.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-4-post.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-4-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-4.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-5-post.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-5-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-5.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-6-post.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-6-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-6.json create mode 100644 src/public/offline-activities/precipitating-change-v6/lesson-7.json create mode 100644 src/public/offline-manifests/precipitating-change-v6.json diff --git a/src/public/offline-activities/precipitating-change-v6/interview.json b/src/public/offline-activities/precipitating-change-v6/interview.json new file mode 100644 index 00000000..fa7c1a3b --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/interview.json @@ -0,0 +1,443 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Interview - Predicting the Weather Without the Weather Channel", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143459, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png\"}", + "is_hidden": true, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1636-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Predicting the weather without the Weather Channel

    \r\n

    Talk with an adult family member or family friend who you think might have experience predicting the weather (maybe even someone who is older who learned how to predict the weather when they were around your age).

    \r\n

    What if you needed a weather forecast and couldn’t use your usual ways of checking the weather? Imagine you’re planning to go snowmobiling on the tundra, but there’s a big power failure and there’s no TV, Internet, or cell phone available. Even the radio isn’t working! You might try to figure out a weather forecast with help from someone you know.

    \r\n

    Ask the person the questions below and write down their ideas. If possible, record your talk so you can go back and check that you’ve written down all the important ideas.

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "Predicting the Weather Without the Weather Channel", + "type": "Embeddable::Xhtml", + "ref_id": "147758-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png\"}", + "is_hidden": false, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1657-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"required\":true,\"prompt\":\"

    How did you learn how to predict the weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1638-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What things do you observe to help you predict the weather?

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1639-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How do you observe those things? (What senses do you use? What tools or instruments do you use?)

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1640-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How do you use what you observe to predict what the upcoming weather is going to be like?

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1641-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Step outside together and ask: what do you think the weather is going to be like twelve hours from now and how do you know? If you are talking with someone who is far away, maybe by phone or Internet, ask them to either take a picture of what the sky is like where they are and send it to you or else describe what they see to you as they answer this question.

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1642-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144898, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-1-post.json new file mode 100644 index 00000000..6e87a301 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-1-post.json @@ -0,0 +1,239 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": null, + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144077, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As you answer these questions, think about the words used by the person you talked with about weather and the words used by a meteorologist. How do each of them describe weather and weather forecasting?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148413-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are some similarities between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1834-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are some differences between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1835-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why might it be worthwhile to have some understanding of how to predict weather yourself (without using information from TV or Internet)?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1836-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144899, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-1.json b/src/public/offline-activities/precipitating-change-v6/lesson-1.json new file mode 100644 index 00000000..feac9bd1 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-1.json @@ -0,0 +1,1251 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Making an Initial Prediction", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143296, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever wondered how people on the news are able to predict tomorrow’s weather?

    \r\n

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will tell you about her job and how she predicts the weather.  Jackie will provide more information about being a meteorologist throughout this unit.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Jackie Purcell, a news station meteorologist", + "type": "Embeddable::Xhtml", + "ref_id": "147485-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Jackie Purcell - Lesson 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1262-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142934, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Overall Introduction", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Welcome to Precipitating Change! Watch this video to see what it is all about!

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "What This Unit Is About", + "type": "Embeddable::Xhtml", + "ref_id": "147101-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Mr. Neyhard's Introduction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1180-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142945, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Lesson Opening", + "position": 3, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Your unit challenge will be to determine if the Native Youth Olympics (NYO Games) in Anchorage will be able to take place as planned, be postponed or even be canceled because of problems traveling from across Alaska due to weather.

    \r\n

    To solve this challenge throughout the unit, you will need to learn how to predict the weather.

    \r\n

    You will have the following tools to help you:

    \r\n

    • Real-world data for the Alaska mainland
    • A toolkit to help analyze the data

    \r\n

    Watch Mr. Neyhard tell you more about the unit challenge.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "The unit challenge", + "type": "Embeddable::Xhtml", + "ref_id": "147111-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1184-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142944, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring the Weather", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    EXPLORING THE WEATHER

    \r\n

    \"What am I going to wear today?\" is a question everyone asks each morning. How do you determine what you are going to wear? What information do you collect to inform your decision?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147110-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png\",\"highResUrl\":\"https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1263-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "Reading Weather Forcasts", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2230-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "content": "

    Look at the weather data for the morning on Tuesday.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147486-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"54°F\",\"correct\":true}],\"prompt\":\"

    What is the predicted temperature on Tuesday morning?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1265-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57°F\",\"correct\":true},{\"id\":\"3\",\"content\":\"54°F\",\"correct\":false}],\"prompt\":\"

    What is the predicted high temperature on Tuesday during the day?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1266-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Sunshine\",\"correct\":false},{\"id\":\"2\",\"content\":\"Snow\",\"correct\":false},{\"id\":\"3\",\"content\":\"Rain\",\"correct\":true}],\"prompt\":\"

    What does the symbol on Tuesday mean?

    \\n

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1267-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"3\",\"content\":\"Shorts and T-shirt with sunglasses because it will be sunny and hot.\",\"correct\":false},{\"id\":\"2\",\"content\":\"My parka/big fluffy coat, snow pants, snow boots, and ski goggles because snow will be falling.\",\"correct\":false},{\"id\":\"1\",\"content\":\"A sweater, some pants, and either an umbrella or a rain jacket because it’s not too cold or too warm but it is supposed to be raining.\",\"correct\":true}],\"prompt\":\"

    Based on the weather forecast, what would you wear on Tuesday morning?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1268-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "carousel", + "id": 143199, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Making a Prediction", + "position": 5, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Data Dump Video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2231-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Can you determine at night what the weather will be the following morning? What kind of information goes into a weather prediction?

    \r\n

    You have been planning to go to the NYO Games in Anchorage on April 23 at 7 am. This event has been planned for months and you are expecting that about 500 students will compete from all over the state. One of your jobs is to watch the weather and determine if the event is safe to proceed as planned, or if it should be postponed or cancelled.

    \r\n

    Below is an Alaska weather dataset from weather stations that includes temperature, precipitation, wind speed, and wind direction.

    \r\n

    The data from the weather stations are organized to show information for a 24-hour time period.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Making a Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147487-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1297-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1298-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"

    Click through the radar images which provide precipitation changes for a 24-hour time period.

    \",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}],\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "ce065054c8b26efaac977457d0e7332c457e6061", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/carousel/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This Carousel is configured to not save state. So it won't show up the report. This is useful if it is only showing a collection of pictures or videos. ", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Carousel Interactive not a Question", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2280-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What do you predict the weather will be at 7am in Anchorage on April 23rd? Will it be raining in Anchorage or not? Please include a number for the temperature, for example 75 degrees F. in your explanation.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1434-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"likert\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"6cf707ea-431c-4873-b351-7ce8fe6af548\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"42e03e94-4e9d-4d84-89d8-71efb91ea9bd\"}],\"prompt\":\"

    How confident are you of your prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1350-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143338, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148889-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How the air feels and the sky looks when I go outside\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The condition of the air that surrounds the Earth at a particular time and place\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) What the sky will do at any given time\",\"correct\":false},{\"content\":\"d) Rain, snow, sleet, hail, sunshine, clouds\",\"correct\":false,\"id\":\"17adffb5-75c5-445c-97ba-7c8bc40428a5\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition for the word “weather”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2012-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Forecast based on evidence about a future event\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Having a premonition\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) When you know something is going to happen\",\"correct\":false},{\"content\":\"d) Forecast based on evidence about past events\",\"correct\":false,\"id\":\"cc1298b9-983c-4665-8259-1846d12d93bc\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition for the word “prediction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2013-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"ec77134a-e481-44b6-ae6b-3c946755ecae\"}],\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2014-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To focus on my work\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To learn something about weather\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) To predict the weather at 7am in Anchorage on April 23rd\",\"correct\":true},{\"content\":\"d) To get into the NYO Games\",\"correct\":false,\"id\":\"71d0bbc7-d5bd-47f8-9be5-1f1591c8918e\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is your challenge for this weather unit?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2015-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) First, click on the word\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Second, look at the picture and read the caption\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Third, try to write my own definition for the word\",\"correct\":false},{\"content\":\"d) Fourth, read the actual definition and watch the video if needed\",\"correct\":false,\"id\":\"76ac086c-1572-48f3-bceb-944f20697651\"},{\"content\":\"e) All of the above\",\"correct\":true,\"id\":\"9a77ae48-7532-44cd-9112-58d1b87c5470\"},{\"content\":\"f) Only answers C and D\",\"correct\":false,\"id\":\"cdcb1029-a50e-4f9b-af8c-62eeb16fc034\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do you use the glossary?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2016-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144863, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 7, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-2-post.json new file mode 100644 index 00000000..f428cc50 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-2-post.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143587, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147889-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1684-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1685-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17136-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144901, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v6/lesson-2-pre.json new file mode 100644 index 00000000..6fefeef8 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-2-pre.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143495, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147795-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1658-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1649-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17135-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144900, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-2.json b/src/public/offline-activities/precipitating-change-v6/lesson-2.json new file mode 100644 index 00000000..02449227 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-2.json @@ -0,0 +1,2957 @@ +{ + "description": "

    How can weather from the past inform future weather predictions?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Displaying Temperature Data ", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143620, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how temperature plays an important part in predicting weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147936-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1705-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143207, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever wondered why some temperature displays are in color (for instance, television weather reports), but a thermometer displays temperature in numbers? Or how weather apps can tell you what the temperature is wherever you are? In this lesson, you are going to learn what it means to display temperature for mainland Alaska.

    \r\n

    As  weather scientists (meteorologists), you will experience a virtual storm event in your classroom. As the virtual storm event occurs, you and your research team will collect and record temperature data. 

    \r\n

    As part of your lesson challenge, you will need to determine how to capture the data, how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introduction to Measuring Temperature", + "type": "Embeddable::Xhtml", + "ref_id": "147375-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Holder for Kevin's video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1706-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    As  weather scientists (meteorologists), you will experience a virtual storm event.  As the virtual storm event occurs, you will learn how to use temperature data from weather stations to fill in the spaces between weather stations.

    \r\n

    As part of your lesson challenge, you will need to determine how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "A Virtual Storm", + "type": "Embeddable::Xhtml", + "ref_id": "149269-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143208, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weather Station Data", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As scientists, it is important to record temperature data for analysis and to predict future weather events. 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Displaying Temperature", + "type": "Embeddable::Xhtml", + "ref_id": "149056-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Gather information from each weather station shown on the map below. Click Setup and Run. Then click each weather station to see the temperature observed for the communities across Alaska at the given time.

    \r\n

    The boxes on the grid are called cells and are identified with a letter and a number. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149057-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Measuring Temperature 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56°F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57°F\",\"correct\":false},{\"content\":\"58°F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"

    What is the temperature in Noorvik (cell C-2) at 7am?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1708-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Measuring Temperature 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"59\",\"correct\":true},{\"id\":\"2\",\"content\":\"60\",\"correct\":false},{\"id\":\"3\",\"content\":\"61\",\"correct\":false},{\"content\":\"62\",\"correct\":false,\"id\":\"08635443-83af-4226-87b9-12531809a282\"}],\"prompt\":\"

    What is the temperature in St. Mary's (cell C-6) at 7am?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2232-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Measuring Temperature 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"55°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"56°F\",\"correct\":false},{\"content\":\"57°F\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"

    What is the temperature in Nome (cell B-4) at 7am?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1710-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Known and Unknown Temperature Measurements ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-1.html", + "type": "MwInteractive", + "ref_id": "97687-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143702, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "First Prediction", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Now you know how to gather information from one weather station at a time.  But what about all the places on the map that do not have a weather station?

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148032-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "content": "

    Look at the data in the map below. Try to predict what the temperature will be in the cells labeled with a question mark.

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148033-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-A1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell A-1. [blank-A1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1785-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-G3]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell G-3. [blank-G3]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1787-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-B7]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell B-7. [blank-B7]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1788-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"There are no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is no other data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It’s difficult to see any patterns with only 8 community’s weather station data.\",\"correct\":false},{\"content\":\"All of the above.\",\"correct\":true,\"id\":\"d0e3f559-c3b2-4ca2-92ee-3638f5a45188\"}],\"prompt\":\"

    Why is it difficult to make predictions for these locations?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1789-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-3-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1786-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143624, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Second Prediction", + "position": 5, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Look at the data in the map to the right.  Now, try to predict what the temperature will be in the cells with a question mark.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147941-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":3}],\"prompt\":\"

    Enter a prediction for Cell A-1. [blank-1]

    \",\"required\":false}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1715-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for Cell G-3. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1716-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for Cell B-7. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1717-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A. It’s not easy, there are still no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B. There is a lot more data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. It’s easier to see any patterns when more data is given.\",\"correct\":false},{\"content\":\"Both B and C.\",\"correct\":true,\"id\":\"b2eba22d-1bbc-4f20-a1c8-c534e9b6085c\"},{\"content\":\"Both A and B.\",\"correct\":false,\"id\":\"283878d3-83dc-407a-a6ab-972efc498d7a\"}],\"prompt\":\"

    Why is it easier to predict the temperature more accurately on this data chart?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1718-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-8-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1755-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143209, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Introducing Interpolation", + "position": 6, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How do you think weather scientists (meteorologists) fill in data for missing locations? Scientists have many methods for constructing unknown data between known data points. This is called data interpolation.

    \r\n

    There are many different methods to interpolate data. Let’s look at the three interpolation methods used to make these maps.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Three Methods of Interpolation", + "type": "Embeddable::Xhtml", + "ref_id": "147378-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    \"\"

    \r\n

    For Square A, you may have guessed 54°F degrees or something very close to that. This is the simplest interpolation method. It is called Nearest Neighbor. With this method, you find the nearest weather station to the unknown point and assume it has a similar temperature.

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Nearest Neighbor Interpolation", + "type": "Embeddable::Xhtml", + "ref_id": "149272-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Mr. Neyhard's Introduction to Nearest Neighbor Interpolation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2236-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144865, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Linear Interpolation", + "position": 7, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    \"\"

    \r\n

    For Square B, you may have guessed between 38°F and 50°F, but closer to 50°F. Since this square is between two known temperatures, the unknown temperature is probably between 38°F and 50°F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.

    \r\n

    \"Number

    \r\n

    This method is called Linear Interpolation.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149270-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Linear Interpolation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2237-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144866, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weighted Average Interpolation", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    For Square C, the square is between other squares at 30°F, 48°F, and 50°F. You could average the three numbers and get approximately 43°F. Or you could try to be even more precise. The unknown square is closer to the 50°F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45°F or 46°F). This method is called Weighted Average Interpolation since we give more “weight” or influence to the closer stations.

    \r\n

    \"\"

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149271-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Weighted Average Interpolation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2238-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Comparing the Interpolation Methods", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"7cc05e06-f819-43df-b946-7cbc0654788c\"}],\"prompt\":\"

    If two weather scientists were using the same data but different interpolation methods, could they get different results??

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2239-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143210, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolating Maps", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Each of the following maps used the same station data but a different data interpolation method:

    \r\n

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147379-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":true,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 1 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1224-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 2 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1225-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 3 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1226-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1721-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143625, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Pattern Recognition", + "position": 10, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Look at the data in the map to the right.  Try to think of ways we could make this data easier for finding patterns.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147942-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\" Forget the map and put all of the numbers in order like a number line.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Take the average of each column and each row for that part of Alaska.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Color code the data for certain temperatures. For example from 45-50 degrees F would be the color blue.\",\"correct\":true},{\"content\":\"Add every number together so that we get one really large number to work with. \",\"correct\":false,\"id\":\"eef89f7a-ecfd-48fa-80f7-973d6862bdb1\"}],\"prompt\":\"

    What is one way we can make this weather data easier to understand for predicting weather across Alaska?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1727-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-all-temps-no-color.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1770-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143626, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Pattern Recognition (Cont.)", + "position": 11, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    On the map below, click Setup and Run. Then use the key to the right of the data map to drag and drop the color tiles over the correct temperature for that color’s temperature range. You can check your answers at any time.

    \r\n

    Hint: To make coloring easier, a colored cell can be used to \"paint\" other cells by dragging over them.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149058-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because all of the numbers would still be the same.\",\"correct\":false},{\"id\":\"2\",\"content\":\"No, because different students would put different temperatures for a color and that would make their map have a different color pattern. \",\"correct\":true}],\"prompt\":\"

    If each student in the class were to make their own color key, would we have all ended up with the same pattern at the end?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1728-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It gets warmer.\",\"correct\":true},{\"id\":\"2\",\"content\":\"It gets cooler.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It stays the same.\",\"correct\":false}],\"prompt\":\"

    What happens to the temperatures at 7am as you travel to the southeast across Alaska?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1729-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes\",\"correct\":false},{\"id\":\"2\",\"content\":\"No\",\"correct\":false}],\"prompt\":\"

    Was it as easy to see this warming pattern before we added the colors?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1730-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Explain your reason for the above answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1731-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Abstracting Temperature Ranges with Color ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-2-colors-v3.html", + "type": "MwInteractive", + "ref_id": "97688-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "Painting the Map", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2240-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143627, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Moving Weather Pattern", + "position": 12, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Wow!  You made it. You have predicted temperature for unknown locations using interpolation. Now you understand how temperature data can cover the map with a limited number of real measurements. 

    \r\n

    Now, you'll start looking for patterns of temperature changes over time.

    \r\n

    Below you will see three maps of temperature data each one at a different time during one day. Study the changes of temperature over time looking for patterns in the data. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147944-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"The colder temperatures are moving from the northwest towards the southeast.\",\"correct\":true},{\"id\":\"2\",\"content\":\"The temperatures in the southeast are getting much warmer.\",\"correct\":false},{\"id\":\"3\",\"content\":\"The temperatures in the southeast are getting much cooler.\",\"correct\":false}],\"prompt\":\"

    What is happening to the temperatures as time goes from 7am to 3pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1732-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Temperature Map at Three Times", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/AK-maps-at-3-times.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2090-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143628, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction", + "position": 13, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Weather scientists use patterns in known data over time to make predictions in the future.

    \r\n

    Now, you'll try predicting temperature for a future time. You will need to make a plan or strategy to make a good prediction.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147945-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    The map below shows temperature for three times separated by 4 hours.

    \r\n

    Your job will be to predict the temperature for 4 hours after the last measurement shown.

    \r\n

    Things to do and look for:

    \r\n
      \r\n
    • Use the slider to see temperatures from 7am to 3pm.
    • \r\n
    • Look for patterns of temperature changes over time.
    • \r\n
    • To see patterns, it may help to turn on and off the temperature data or the color key.
    • \r\n
    \r\n

    Remember: always start by clicking Setup and then Run.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149059-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Noorvik patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Noorvik11am]\",\"size\":5},{\"id\":\"[blank-Noorvik3pm]\",\"size\":5},{\"id\":\"[blank-Noorvik7am]\",\"size\":5}],\"prompt\":\"

    Enter the temperature in Noorvik (cell C-2) for 7am [blank-Noorvik7am], 11am [blank-Noorvik11am], and 3pm [blank-Noorvik3pm].

    \",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2143-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Noorvik prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for the temperature in Noorvik at 7pm. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1736-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Nome patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Nome7am]\",\"size\":5,\"matchTerm\":\"56\"},{\"id\":\"[blank-Nome11am]\",\"size\":5,\"matchTerm\":\"51\"},{\"id\":\"[blank-Nome3pm]\",\"size\":5,\"matchTerm\":\"46\"}],\"prompt\":\"

    Enter the temperature in Nome (cell B-4) at 7am [blank-Nome7am], 11am [blank-Nome11am], and 3pm [blank-Nome3pm].

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2144-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Nome prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for the temperature in Nome at 7pm. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1738-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Prediction Strategy", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Describe your plan or strategy for making these predictions. For example, did you see a pattern in the temperatures that helped you come up with your prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2145-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Map with Three Observation Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-3-time-slider-v1.html", + "type": "MwInteractive", + "ref_id": "97689-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143629, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction (Cont.)", + "position": 14, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The model on this page is just the same as the one on the previous page except it includes the measurement for 7pm. Use the slider to compare your prediction to the measured data.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Checking Your Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147948-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"37°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"38°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"39°F\",\"correct\":true},{\"content\":\"40°F\",\"correct\":false,\"id\":\"aa2fd593-c08e-40e2-a0fd-8c1af86eba2d\"}],\"prompt\":\"

    What is the temperature in Noorvik (cell C-2) at 7pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1739-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"39°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"40°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"41°F\",\"correct\":false},{\"content\":\"42°F\",\"correct\":true,\"id\":\"bdf4731a-c1e0-4794-9f9a-ef03e07668b2\"}],\"prompt\":\"

    What is the temperature in Nome (cell B-4) at 7pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1741-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Does your prediction from the previous page match with the actual temperature for each city? If not, by how many degrees did they differ? Was your estimate high or low?

    \",\"hint\":\"

    Hint: Subtract the estimate from the actual.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1742-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Revised Patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did your strategy for predicting the temperature from the previous page work? Explain your answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2146-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Temperature at Four Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-3-time-slider-v1a.html", + "type": "MwInteractive", + "ref_id": "97691-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143211, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 15, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please check your knowledge of the information in this lesson with this short quiz.

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147380-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Making a prediction in blank spaces\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of talking to your neighbor about your weight while standing in a line\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Estimating and unknown value based on surrounding information\",\"correct\":true},{\"content\":\"d) Copying data from weather stations into blank spaces\",\"correct\":false,\"id\":\"fea96b2e-26aa-4fbc-8022-ee8cf6d0f9f1\"}],\"prompt\":\"

    What is the definition of the word “Interpolation”?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2003-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Weighted Average, Linear, Nearest Neighbor\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Weighted Neighbor, Linear Average, Nearest Common Denominator\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Weighted Linear, Nearest average, Friendly Neighbor\",\"correct\":false},{\"content\":\"d) Alphabetical, Numerical, Linear\",\"correct\":false,\"id\":\"95f3d0b0-6ada-4426-aae5-f91a7cfd469e\"}],\"enableCheckAnswer\":true,\"hint\":\"\",\"prompt\":\"

    What are the three forms of Interpolation you learned in this lesson?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2009-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It makes the map more interesting to look at so that people might want to watch the weather on television.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It makes it easier to see where the warmer air and cooler air is on the map instead of trying to look at individual numbers.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) Because it’s fun to color things in.\",\"correct\":false}],\"enableCheckAnswer\":true,\"prompt\":\"

    Why does it help to color code temperatures on a weather map?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2010-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) From the southeast towards the northwest\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) From the East to the West\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) From the West to the East\",\"correct\":false},{\"content\":\"d) From the northwest towards the southeast\",\"correct\":true,\"id\":\"7fef3354-d757-4411-b431-288e9469301c\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    In the example that you have just worked with, which direction is the colder air moving?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2011-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144864, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 16, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-3-post.json new file mode 100644 index 00000000..acdac16b --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-3-post.json @@ -0,0 +1,188 @@ +{ + "description": "

    Displaying Data: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143592, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147898-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1688-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1689-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144903, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v6/lesson-3-pre.json new file mode 100644 index 00000000..683fa336 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-3-pre.json @@ -0,0 +1,188 @@ +{ + "description": "

    Displaying Data: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143591, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147895-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1687-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1686-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144902, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-3.json b/src/public/offline-activities/precipitating-change-v6/lesson-3.json new file mode 100644 index 00000000..c11c95a4 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-3.json @@ -0,0 +1,1019 @@ +{ + "description": "

    Displaying Data: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Displaying Precipitation & Air Moisture Data", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143621, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application with Jackie Purcell", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how air moisture plays an important part in forming precipitation.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148013-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1765-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143588, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever been caught without your parka or boots when you needed them? Predicting rain or snow is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.

    \r\n

    As weather scientists, you will continue to explore weather maps. Now, you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number). The larger this number is, the more moisture is contained in the air.

    \r\n

     

    \r\n

    Precipitation symbol = raindrops  \"\" 

    \r\n

     

    \r\n

    \"\"

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Precipitation and Air Moisture ", + "type": "Embeddable::Xhtml", + "ref_id": "147890-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Introduction to Precipitation Model", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2241-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143589, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "

    Would you change what you selected to wear? Yes or No

    \n

    If yes, what would you change and why?

    ", + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The map below shows the virtual storm that you have seen before. With the slider, you can see the storm at three times during one day. This map adds humidity and precipitation data to the temperature data. Combining related data is called data aggregation.

    \r\n

    Look at the temperature and humidity data that is close to where the precipitation falls. Watch how the precipitation moves through the three times. Does the other data move too? Can you see a pattern? 

    \r\n

    Precipitation is shown with three raindrops:  \"\" 

    \r\n

    The air moisture and temperature data are shown this way:\"\" 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Mapping Precipitation and Air Moisture with Temperature in the Virtual Storm", + "type": "Embeddable::Xhtml", + "ref_id": "147891-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Location of Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"G-4\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"id\":\"2\",\"content\":\"G-5\",\"correct\":false,\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"id\":\"3\",\"content\":\"D-6\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"content\":\"D-2\",\"correct\":false,\"id\":\"aff2b1f4-8271-4aaa-8338-fa504931c966\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"A-4\",\"correct\":false,\"id\":\"64b333f5-f8be-4b50-af1f-080692afa946\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"B-7\",\"correct\":true,\"id\":\"fc847408-296f-44b2-8aed-7e305f86ea70\",\"choiceFeedback\":\"Correct!\"}],\"prompt\":\"

    Set the map to show the data at 3 pm. Check all cells listed below that have precipitation.

    \",\"enableCheckAnswer\":true,\"customFeedback\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2163-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Guiding Question #1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It is raining on the warmest cell on the map.

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2164-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Guiding Question #2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It is raining on the coldest cell on the map.

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2165-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Data Relationships", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How would you describe the relationship between temperature and precipitation?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2166-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    On the map below, click Setup and Run, then use the slider to see the movement of the rain over three times of the day. 

    \r\n

    Look for patterns around where the rain falls. To see patterns, it may help to turn on or off the options of data, colors, and rain. For example, turn off show-data? and turn on show-colors? and show-rain?. Is it easier to see how temperature and precipitation move over time?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149127-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Virtual Storm with Rain at Three Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": true, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97738-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144724, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation, Continued", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Guiding Question #3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It rains in cells that have an air moisture of 5 or below.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2171-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Guiding Question #4", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It rains in cells that have an air moisture of 10.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2172-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Conditions for Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How would you describe the relationship between air moisture AND temperature AND precipitation? There are 3 parts to this answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2173-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    The map with temperature, air moisture, and precipitation appears again below. Look carefully for patterns and relationships between all three types of data: temperature, air moisture, and where precipitation occurs. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149129-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97739-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143590, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Predicting Rain - First Try", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "

    Your teacher will lead a class discussion.

    \n

    Possible discussion questions:

    \n

    • What was your prediction for the weather in Boston on November 7th at 7am?
    • What was your strategy that helped you develop your prediction?

    ", + "sidebar_title": "Class Discussion", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The weather map of the virtual storm below shows temperature and air moisture data at 7pm. Use the relationships you just figured out between air moisture, temperature, and precipitation to try and predict where it will rain at 7pm.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "What Makes It Rain?", + "type": "Embeddable::Xhtml", + "ref_id": "147893-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    List the coordinates of the cells in which you think it will rain. (Example: B-1, F-5...) Explain why you think it will rain in those cells. 

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2169-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Virtual Storm at 7 pm - No Precipitation Shown", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2167-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143695, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148890-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"75d5130a-6c7b-45f6-80cd-22d7b2eba0e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “precipitation”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2017-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How much rain is falling to the ground\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Amount or content of water in the air\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) The temperature at which rain will start to fall\",\"correct\":false},{\"content\":\"d) The ratio of the temperature and the wind direction\",\"correct\":false,\"id\":\"65903405-cdf8-4532-a239-e913395a8b36\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of “air moisture”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2018-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It will rain when the air is very dry\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It will rain when the air is very wet\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) It will rain when the air moisture is between 7 and 9\",\"correct\":true},{\"content\":\"d) It will rain when the air moisture is between 5 and 7 \",\"correct\":false,\"id\":\"019a4ccd-da14-4e5f-9692-fe79bddc7c0f\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the relationship between air moisture and precipitation?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2021-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144723, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 7, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-4-post.json new file mode 100644 index 00000000..01972c36 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-4-post.json @@ -0,0 +1,188 @@ +{ + "description": "

    Building Rules: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143598, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147904-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1692-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1693-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144905, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v6/lesson-4-pre.json new file mode 100644 index 00000000..95c7809a --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-4-pre.json @@ -0,0 +1,188 @@ +{ + "description": "

    Building Rules: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143597, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147903-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1690-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1691-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144904, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-4.json b/src/public/offline-activities/precipitating-change-v6/lesson-4.json new file mode 100644 index 00000000..0d4f8e85 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-4.json @@ -0,0 +1,809 @@ +{ + "description": "

    Building Rules: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Building Rules", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143689, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how making sense of the weather data helps in predicting weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148014-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1766-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143593, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.

    \n

    Example: This rule has two parts that must happen to have a certain result. If it was a [ very nice summer ] and if it is [ August ], then there will be [ lots of berries to pick ]. 

    \n

    \"\"

    \n

    Think about developing a similar statement that could be used to determine where it will rain.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147899-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Introduction to Computational Rules", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2243-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143595, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Rule Abstraction (cont.)", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.

    \n

    To make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.

    \n

    You can practice making more specific rule statements by answering the questions below and testing them using the model. 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147901-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Using the following rule, which pair of grid squares (A, B, or C) will produce rain? 

    \r\n

    \"\"
    IF the upper square (the northwest square)  is colder than the lower square by [ 5 or more degrees ] AND IF the moisture of the lower square is [ 7 or more ] THEN it rains in the lower square.

    \r\n

     

    \r\n

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "If / Then Rule", + "type": "Embeddable::Xhtml", + "ref_id": "149130-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "If / Then Rule 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":true},{\"id\":\"3\",\"content\":\"C.\",\"correct\":false}],\"prompt\":\"

    Which square will have rain according to this rule?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2174-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "If / Then Rule 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":true},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. \",\"correct\":false}],\"prompt\":\"

    Which square will have rain according to the following rule:

    \\n

    "IF the upper square (the northwest square) is colder than the lower square by [2 degrees] AND IF the moisture of the lower square is [8 or above] THEN it rains in the lower square."

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2175-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "If / Then Rule 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C.\",\"correct\":true}],\"prompt\":\"

    Which square will have rain according to the following rule:

    \\n

    "If the upper square (the northwest square) is colder than the lower square by [5 degrees] AND IF the moisture of the lower square is [6] THEN it rains in the lower square."

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2176-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143596, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Finding the Rule with a Model ", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Rules Model Explanation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2242-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Best Rule", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What is the best and final rule to fit where it actually rains in our virtual storm? (Hint: write the sentence in the model, "If the square to the northwest is colder by at least _____ AND IF the air moisture is at least _____ THEN it rains.")

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2177-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "How Well Does the Rule Work", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did your rule fit the actual precipitation 100% for all the different times? Please explain why or why not.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2178-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    Press Setup and Run. Then, use the sliders to refine your precipitation rule until you have found the best fit between the actual precipitation shown in light blue and the precipitation predicted by the rule in dark blue. Test your rule by clicking Show Rain with These Rules.

    \r\n

    Try your rule with all of the data sets.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149131-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 800, + "native_width": 800, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/precip-rule-ak-v5.html", + "type": "MwInteractive", + "ref_id": "96960-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143694, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148891-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Simplifying data to make it easier to interpret and find patterns\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) A type of art that makes it difficult to see what the artist is trying to show\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) A piece of something\",\"correct\":false},{\"content\":\"d) When you remove a sliver from your finger\",\"correct\":false,\"id\":\"3a59d5ea-7526-46e7-b468-ff8612b9852d\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “abstraction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2022-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) If the square to the north-west is colder by at least 3 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) If the square to the north-west is colder by at least 5 and if the moisture is at least 9 then it will rain.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) If the square to the north-west is colder by at least 7 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"content\":\"d) If the square to the north-west is colder by at least 5 and if the moisture is at least 7 then it will rain.\",\"correct\":true,\"id\":\"d2ba7a47-fe6d-4a57-a07a-4aa83f0af8e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the best rule to answer the question, “Where will it rain?”

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2023-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To keep children following the right behaviors\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To see the patterns in data that would allow a person to make a more accurate prediction\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) To explain the historical trends that occur in an area\",\"correct\":false},{\"content\":\"d) To measure the amount of rain that has fallen after a storm\",\"correct\":false,\"id\":\"6f5b2205-979f-4ca2-a12d-6389c5bf10a0\"}],\"prompt\":\"

    What is the purpose of a rule for predicting weather?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2024-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144867, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 6, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-5-post.json new file mode 100644 index 00000000..be695c4e --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-5-post.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Post-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143619, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147932-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1702-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1703-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17148-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144907, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v6/lesson-5-pre.json new file mode 100644 index 00000000..c753be8e --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-5-pre.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Pre-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143617, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147929-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1698-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1699-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17146-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144906, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-5.json b/src/public/offline-activities/precipitating-change-v6/lesson-5.json new file mode 100644 index 00000000..3f81dcd3 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-5.json @@ -0,0 +1,1465 @@ +{ + "description": "

    Identifying Air Masses: Where does the air come from?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Identifying Air Masses", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143690, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how wind direction impacts different air masses.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148015-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1767-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143599, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the weather - wind! The direction of the wind can give you clues about what weather to expect. And when the wind changes its direction drastically, interesting weather events can happen.

    \r\n


    In this lesson you will explore how air masses interact by watching a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more weather stations. 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Wind", + "type": "Embeddable::Xhtml", + "ref_id": "147905-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143600, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass?", + "position": 3, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    In this activity, you will see how wind blowing from two directions interacts on a Wind Table. Please watch the video below for a demonstration on how a Wind Table maps the movement of air on a gird representing a region of Alaska.

    \r\n

    Wind Table

    \r\n

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Wind Table", + "type": "Embeddable::Xhtml", + "ref_id": "147906-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Mr. Nyhard's Wind Table Demonstration", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2188-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144777, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Defining Wind Direction", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Wind direction is often measured with a weather vane or an air sock. When the wind blows, the weather vane rotates and lines up with the path that the air is flowing. So, wind direction is determined by what direction the wind is coming from. It is measured in degrees (°).

    \r\n

    \"\"

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Measuring Wind Direction", + "type": "Embeddable::Xhtml", + "ref_id": "149273-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143601, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Wind Direction and Air Masses", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2246-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    The arrows on the model below represent the wind direction at each location.  Your challenge using this model is to identify the two air masses and mark a line of cells that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. 

    \r\n

    Remember to click Startup and Run. Then,

    \r\n
      \r\n
    • Use gray color to mark where the front is located
    • \r\n
    • Use blue to mark air mass 1
    • \r\n
    • Use red color to mark air mass 2
    • \r\n
    \r\n

    You can check your work at any time.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Identifying Air Masses", + "type": "Embeddable::Xhtml", + "ref_id": "147907-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why did you draw the line of the front where you did?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2244-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Identifying Air Masses and Fronts", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson5-air-masses.v4-new.html", + "type": "MwInteractive", + "ref_id": "97692-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143602, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Now that you have identified the air masses, lets discuss what an air mass actually is.

    \r\n

    An air mass is a body of air with similar temperature and air moisture content.

    \r\n

    Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an air moisture content number at the bottom of the square.

    \r\n

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Air Mass Definition ", + "type": "Embeddable::Xhtml", + "ref_id": "147908-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Develop a way to identify the two air masses using temperature and air moisture content values provided on the map you just colored.

    \r\n

    \"Air

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Identifying Air Masses", + "type": "Embeddable::Xhtml", + "ref_id": "149276-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"correct\":true,\"content\":\"Colder\"},{\"id\":\"2\",\"content\":\"Warmer\",\"correct\":false}],\"prompt\":\"

    Temperature: Compare Air Mass #1 to Air Mass #2.

    \\n

    Air Mass 1 is:

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2248-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"Warmer\",\"correct\":true},{\"id\":\"2\",\"content\":\"Colder\",\"correct\":false}],\"prompt\":\"

    Temperature: Compare Air Mass #2 to Air Mass #1.\\r

    \\n

    \\rAir Mass #2 over land is:

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2249-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"More moist\",\"correct\":true},{\"id\":\"2\",\"content\":\"More dry\",\"correct\":false}],\"prompt\":\"

    Air moisture: Compare Air Mass #1 to Air Mass #2.
    Air Mass #1 is:

    \",\"hint\":\"\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2250-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 4", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"More moist\",\"correct\":false},{\"id\":\"2\",\"content\":\"More dry\",\"correct\":true}],\"prompt\":\"

    Air moisture: Compare Air Mass #2 to Air Mass #1.

    \\n

    Air Mass #2 is:

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2256-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143603, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Remember, the region between two different air masses is called a front. Weather scientists are very interested in fronts because they are where the weather can change. Sometimes this change is very sudden.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Activity at the Fronts", + "type": "Embeddable::Xhtml", + "ref_id": "147910-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Compare the 7 pm interpolated map and the 7 pm radar map.

    \r\n

    \"\"

    \r\n

    Comparing these maps think about how air masses affect where it rains.

    \r\n

     

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Comparing Weather Data", + "type": "Embeddable::Xhtml", + "ref_id": "147911-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Thinking about Where Rain Will Occur", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It rains across the front making a cross shape.\",\"correct\":false},{\"id\":\"2\",\"content\":\"It rains away from the front.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It rains on the warm side of the front.\",\"correct\":true},{\"content\":\"It rains on the cold side of the front.\",\"correct\":false,\"id\":\"5a069223-5be8-4ee2-9006-b0e79fcb950a\"}],\"prompt\":\"

    How does a front affect where it rains?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2257-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    The weather map below shows wind direction, temperature, and air moisture, but not precipitation. Look at this data and think about where raining would most likely occur.

    \r\n

    \r\n

    Alaska Stations: Interpolated at 7 am

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Applying Your Knowledge", + "type": "Embeddable::Xhtml", + "ref_id": "147912-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Making a Prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Use what you have just learned about fronts and where it rains along fronts to predict where it will rain at 7am based on this map. List the coordinate cell where you think it will rain (for example, B-7, D-5, etc.). Describe what makes you think it will rain in those locations.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2258-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143604, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding (cont.)", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    On the previous page, you made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am below. The radar image shows where it was actually raining at 7 am.

    \r\n

    \r\n

    Radar Image for 7 am

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147913-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Comparing Your Prediction to the Data", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How accurate was your prediction? Explain.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2262-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143605, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Air masses and precipitation", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    When you feel the wind blow on your face, you are feeling air from another place. Sometimes it feels cold; sometimes it feels warm. The wind is what moves air. Weather scientists use wind direction to distinguish multiple air masses. What happens at the boundary of those two air masses? You will explore that question using a new Virtual Model.  

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147914-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    This model shows wind as moving arrowheads and precipitation as green circles. There are two air masses. Identify where the front is. 

    \r\n

    Then, by trying different settings of the temperature and moisture, see if you can make up a rule for what conditions produce precipitation along the front, and on which side of the front the precipitation will occur. 

    \r\n

    Start by pressing Setup and Run. As you change temperatures and moisture settings you may want to press Setup occasionally to start fresh. Be sure to discuss what you find with your research team.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK ", + "type": "Embeddable::Xhtml", + "ref_id": "147915-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Conditions for Precipitation - 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are the conditions in the model that result in precipitation happening along a front?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2266-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Not all weather models are perfect. After trying this model out, which settings show rain matching the rule you have learned about fronts and precipitation? Please describe.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2265-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Lesson 5:Air Mass Model", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/lesson5-sliders.html\r\n", + "type": "MwInteractive", + "ref_id": "96961-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144874, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 10, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Heather Mase, bush pilot, in Naknek, Alaska. She dicusses the importance and use of wind direction data to help her plan her flights.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149277-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Perspective of a Bush Pilot", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4\",\"credit\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2254-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143693, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 11, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148892-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Can be determined using tools such as a weather vane, flag, or windsock\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Described by using the direction that the wind came from\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Described by using the direction that the wind is going to\",\"correct\":false},{\"content\":\"d) Only A and B\",\"correct\":true,\"id\":\"de903f5f-840c-40c0-91db-73c33017a515\"},{\"content\":\"e) Only A and C\",\"correct\":false,\"id\":\"3852ac5d-832a-4558-a526-1729c4a02a20\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of “wind direction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2027-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A body of air with similar temperatures and air moisture content\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Where the weather begins\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) An air mass that is very dry with calm weather.\",\"correct\":false},{\"content\":\"d) The area between two colliding air masses of different temperatures that result in a change in weather.\",\"correct\":true,\"id\":\"9c06c9a6-3906-4afb-bdb1-066b8d22ad43\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “front”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2029-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A measurement of the weight of the air.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) A body of air with similar temperatures and air moisture content.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) A piece of equipment that shows the direction the air is moving.\",\"correct\":false},{\"content\":\"d) The line between two fronts where the wind changes direction.\",\"correct\":false,\"id\":\"adf51964-b089-4d02-92c4-8ba5ddd87113\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is an air mass?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2030-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Compass rose and degree directions always tell where the wind is coming from.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Arrows always point where the wind is going.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Compass rose and degree directions always tell where the wind is going.\",\"correct\":false},{\"content\":\"d) Arrows always point where the wind is coming from.\",\"correct\":false,\"id\":\"4dcfa49c-9d65-44c8-ba59-30ad0232f898\"},{\"content\":\"e) Both A and B\",\"correct\":true,\"id\":\"cf4fa7b4-5048-40c0-acbe-478fffa79243\"},{\"content\":\"f) Both C and D\",\"correct\":false,\"id\":\"1dcfe310-0d3d-4879-bf47-0158c1310a6a\"},{\"content\":\"g) Both B and C\",\"correct\":false,\"id\":\"7ddeb9e9-b680-4974-8ed5-fc7aaeea1846\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do meteorologists talk about the wind direction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2031-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) The colder drier air mass\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The colder wetter air mass\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The warmer wetter air mass\",\"correct\":true},{\"content\":\"d) The warmer drier air mass\",\"correct\":false,\"id\":\"cfed3538-0de4-4b54-8414-57afc6d5a849\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    When a front forms with the right conditions for precipitation, which air mass does the precipitation fall in?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2032-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144868, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 12, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-6-post.json new file mode 100644 index 00000000..1090281f --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-6-post.json @@ -0,0 +1,188 @@ +{ + "description": "

    Modeling Fronts: How do fronts move?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143611, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147922-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1696-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1697-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144909, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v6/lesson-6-pre.json new file mode 100644 index 00000000..ae599e86 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-6-pre.json @@ -0,0 +1,188 @@ +{ + "description": "

    Modeling Fronts: How do fronts move?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143610, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147921-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1694-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1695-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144908, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-6.json b/src/public/offline-activities/precipitating-change-v6/lesson-6.json new file mode 100644 index 00000000..bbe4d47d --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-6.json @@ -0,0 +1,690 @@ +{ + "description": "

    Modeling Fronts: How do fronts move?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Modeling Fronts", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143691, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how moving fronts impact the weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148016-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1768-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143607, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Where is the front going and how fast is the front moving?

    \r\n

    Throughout this unit you have been exploring different aspects of regional weather data. There is one more piece of information we need to figure out before you can make your final prediction for the unit challenge:

    \r\n

    What will the weather be in Anchorage 24 hours from now?

    \r\n

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "How do fronts move?", + "type": "Embeddable::Xhtml", + "ref_id": "147917-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143608, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Where is the front going?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Press Setup and Run on the model below. Watch as the arrows trace their path for 11am. Then do the same for 9pm and 7am. Take note of any differences you see between the times.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Where is the front going?", + "type": "Embeddable::Xhtml", + "ref_id": "147918-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Direction the Front Is Moving", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"North\",\"correct\":false},{\"id\":\"2\",\"content\":\"East\",\"correct\":false},{\"id\":\"3\",\"content\":\"South\",\"correct\":true},{\"content\":\"West\",\"correct\":false,\"id\":\"77337e25-5dfa-4c34-bfbd-04227e1ea9bb\"}],\"prompt\":\"

    Ultimately, in what direction is the front moving? (Hint: not the wind direction.)

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2183-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Describing Front Direction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Because at 11am the red lines are moving to the north so the front is moving north.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Because at 7am the blue lines are moving to the East so the front is moving east.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Because at 11 am the blue and red lines collide near Norvik and go closer to Utqiagvik, but at 7am they collide closer to Fairbanks. This means the front is moving South.\",\"correct\":true},{\"content\":\"Because at 7am almost all of the wind is coming from the west so the front is moving to the west.\",\"correct\":false,\"id\":\"f5c297cc-ea8a-4837-ac4b-bc3c174ee66f\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do you know the front is moving in that direction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2184-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Front Direction Model Explanation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Front%20Direction%20Model%20Explanation.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2278-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Fronts Moving in Time", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson6-1-v1.html", + "type": "MwInteractive", + "ref_id": "97811-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143609, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "How fast is the front moving?", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Speed of the Front Model", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Speed%20Front%20Model%20Explanation.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2279-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Now that you have figured out which way the front is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it’s going to pass through there. Where the front is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the weather.

    \r\n

    To best predict where the front will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance divided by time). Once you know both speed and direction of the front, your weather analysis will help you answer the question, “Will it be raining in Anchorage?”

    \r\n

    The model below allows you to mark the fronts at three times and measure the distance between them. With the time and distance data you can calculate the approximate speed of the front and then calculate where it will be 24 hours after the last measurement. To do this you can use the tools built into this model.

    \r\n

    First, mark the fronts.

    \r\n

    • Click Setup and Run and see where the front forms. (Once the front has formed click Run again to turn it off.) See Mr. Neyhard's video for help.
    • Click Draw Line and use the mouse to mark the front. (Be sure the mouse stays inside the map while dragging.)  
    • You can always start over by clicking Clear Last Line or Clear All Lines
    • Repeat this for 9pm and 7am. You can turn Run off or click Setup again if the map gets too dark.

    \r\n

    Second, measure the distance between fronts.

    \r\n

    • Turn off Run and click show-distance?. Now, lines that you draw will show their length in kilometers. (You can click Setup to see the map more clearly.)
    • Draw a line from one front to the other to measure the distance between them. Start near Fairbanks because the front there will be close to where it will cross Anchorage. Do this for the distance between the first and second front and the second and third front.

    \r\n

    Third, calculate the speed of the front. See Mr. Neyhard's video for help.

    \r\n

    • Each set of data is separated by 10 hours.  
    • Divide the distance between the top and middle front by 10 to get the speed in kilometers per hour.
    • Divide the distance between the middle and bottom front by 10 to get the speed in kilometers per hour.
    • Average the two speeds by adding them together and then divide by 2.

    \r\n

    Finally, calculate the location of the front 24 hours later.

    \r\n

    • Mutliply the average speed by 24 hours to predict where it will be on April 23 at 7am.  
    • Will the front be on top of Anchorage? Should the NYO Games go on as planned?

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Calculating the Speed of the Front and Making a Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147919-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Measured distances", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    You have marked three fronts. Please answer the following three questions:

    \\n

    (1) What distance did you measure between the fronts at April 21, 11am, and April 21, 9pm?

    \\n

    (2) What distance did you measure between the fronts at April 21, 9pm and April 22, 7am?

    \\n

    (3) What is the average distance between the fronts?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2217-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Speed of the front", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How fast is the front moving in kilometers per hour? Please show your calculation.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2218-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "The main question", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How far did the front move in 24 hours after April 22, 7am? Please show your calculations. Is the front to the North, South, or on top of Anchorage on April 23 at 7am:

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2219-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Testing your prediction with the Reveal", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Click Run again and then Reveal April 23, am. Where is the front? Was your prediction correct? Please describe.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2220-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Measuring the Movement of Fronts", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/lesson6-2.v1.html", + "type": "MwInteractive", + "ref_id": "97812-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144841, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 5, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-7.json b/src/public/offline-activities/precipitating-change-v6/lesson-7.json new file mode 100644 index 00000000..ef40b6fd --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v6/lesson-7.json @@ -0,0 +1,606 @@ +{ + "description": "

    Analyzing Data and Making a Prediction: What will the weather be like 24 hours from now?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 7: Analyzing Data and Making a Prediction", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143696, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how to make predictions for upcoming weather patterns.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148017-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Jackie80_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1769-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143612, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    You have been planning the Alaskan Native Youth Olympics (NYO Games) for April 23rd at 7:00 am. This event has been planned for months and the committee is expecting over 500 people to attend. One of your jobs on this committee is to watch the weather and determine if the event is safe to proceed as planned, or if it should be postponed or even canceled.

    \n

    It’s time to put your computational thinking skills to work!

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147923-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143613, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Throughout the Precipitating Change, you have been developing some computational thinking skills that real weather scientist use. Although we have not named the skill until now, notice in the table below the skills you have used to help decide if the NYO Games should proceed.

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    Definition Computational Thinking Skill
    \r\n

    Organizing a large amount of information (data) into smaller more manageable parts.

    \r\n
    \r\n

    Decomposition

    \r\n

    In Lesson 1, you organized weather station data over a two-day period and radar maps of Alaska every 6 hours to make a prediction.

    \r\n
    \r\n

    Recognizing that data or information is repeating in a logical (expected) way.

    \r\n
    \r\n

    Pattern Recognition

    \r\n

    In Lesson 2, you ran the model to see temperature data and patterns of data moving across the map. Before and after each run of the model, you interpolated data. You discovered that warm and cold spots on the map are at times on certain sides, and also you saw these spots change location over time.

    \r\n

    In Lesson 3 and 4, you ran the models to develop a general statement to answer the question \"Where does it rain?\".

    \r\n
    \r\n

    Estimating an unknown value based on surrounding information.

    \r\n
    \"\"\r\n

    Interpolation

    \r\n

    In Lesson 2, you made best guess estimates of the temperatures that were missing on the map.

    \r\n
    \r\n

    Following a pattern beyond the known data points.

    \r\n
    \r\n

    Extrapolation

    \r\n

    In Lesson 2, you predicted future weather based on patterns you observed in the changing temperatures you collected and visualized.

    \r\n
    \r\n

    Collecting and organizing data to better understand the topic.

    \r\n
    \r\n

    Data Aggregation

    \r\n

    In Lesson 2, you observed temperature data from a model and organized the data to see the “big picture”.

    \r\n
    \r\n

    Simplifying data to make it easier to interpret and find patterns.

    \r\n
    \r\n

    Data Abstraction

    \r\n

    In Lesson 2, you came up with a color scheme for temperature and changed how the data was represented from numbers to temperature categories, and then to colors.

    \r\n
    \r\n

    Developing a statement of how things work based on the patterns you observed.

    \r\n
    \r\n

    Rule Abstraction

    \r\n

    In Lesson 3, you made a generic statement to answer the question, \"Where does it rain?\".

    \r\n
    \r\n

    Looking at the big picture by putting all the components together in the model to see if it works.

    \r\n
    \r\n

    Model Evaluation

    \r\n

    In Lesson 4 and 5, you ran a model to determine whether a rule was still true in different situations.

    \r\n
    \r\n

    Modifying a rule to be more precise (exact, careful about details) to work in the model.

    \r\n
    \r\n

    Rule Refinement

    \r\n

    In Lesson 4 and 5, as you ran the model, you were able to test your rule statements and make changes based on the model.

    \r\n
    \r\n

    Forecast based on evidence about a future event.

    \r\n
    \r\n

    Data-based Prediction

    \r\n

    In Lesson 6, you selected data including temperature, air moisture and wind direction to help form a forecast about a future event.

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147924-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Which skill was the easiest to use? Please explain why.

    \\n

    a) Decomposition

    \\n

    b) Pattern Recognition

    \\n

    c) Interpolation

    \\n

    d) Extrapolation

    \\n

    e) Data Aggregation

    \\n

    f) Data Abstraction

    \\n

    g) Rule Abstraction

    \\n

    h) Model Evaluation

    \\n

    i) Rule Refinement

    \\n

    j) Data-based Prediction

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1895-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Which skill was the hardest to use? Please explain why?

    \\n

    a) Decomposition

    \\n

    b) Pattern Recognition

    \\n

    c) Interpolation

    \\n

    d) Extrapolation

    \\n

    e) Data Aggregation

    \\n

    f) Data Abstraction

    \\n

    g) Rule Abstraction

    \\n

    h) Model Evaluation

    \\n

    i) Rule Refinement

    \\n

    j) Data-based Prediction

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1896-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143614, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection (cont.)", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Your Initial Prediction

    \n

    At the beginning of the unit you made a weather prediction.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147925-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    In Lesson 1, Page 5 - Making a Prediction, what did you predict the weather will be at 7:00 am in Anchorage on April 23?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1897-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"a6d209ef-958d-474c-a8db-e1b73b84fde7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"2ffa3691-0e65-48b2-8466-b8528d8de2b5\"}],\"prompt\":\"

    How confident were you of your prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1898-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What did you learn during this unit that helped you make a more accurate prediction.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2252-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144656, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Presentation", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":1200,\"canvasHeight\":800,\"initialState\":{\"itemPositions\":{\"a058923a-4542-4e84-951c-e2f36b2c8251\":{\"left\":442,\"top\":-28},\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\":{\"left\":266,\"top\":-43},\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\":{\"left\":740,\"top\":-31},\"4310bd82-1a68-412e-9b07-53073da246a1\":{\"left\":588,\"top\":-35},\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\":{\"left\":103,\"top\":-38},\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\":{\"left\":779,\"top\":71}}},\"draggableItems\":[{\"id\":\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"4310bd82-1a68-412e-9b07-53073da246a1\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"a058923a-4542-4e84-951c-e2f36b2c8251\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/sun.png\"},{\"id\":\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/lineforprediction.png\"}],\"backgroundImageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/Move_the_line.png\",\"prompt\":\"

    FINAL STEP!!! Show us what the weather will be on April 23rd at 7am!!!

    \\n

    Drag the icon that fits your prediction of the weather over Anchorage during the NYO games. Also drag the yellow line to show where the front is during the time of the games.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "a309b989c0cff0915fe71fcdf16dd116a6231c9b", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2221-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did you decide to hold NYO or to cancel or postpone it due to bad weather preventing teams from flying into Anchorage? Explain your reasoning including the temperature, precipitation, and wind direction that you predict will happen in Anchorage.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2224-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144869, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 6, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-manifests/precipitating-change-v6.json b/src/public/offline-manifests/precipitating-change-v6.json new file mode 100644 index 00000000..0b7165c1 --- /dev/null +++ b/src/public/offline-manifests/precipitating-change-v6.json @@ -0,0 +1,307 @@ +{ + "name": "Alaska 2021 - Precipitating Change", + "activities": [ + { + "name": "Interview - Predicting the Weather Without the Weather Channel", + "contentUrl": "offline-activities/precipitating-change-v5/interview.json", + "resourceUrl": "https://authoring.concord.org/activities/11559" + }, + { + "name": "Lesson 1: Making an Initial Prediction", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-1.json", + "resourceUrl": "https://authoring.concord.org/activities/11501" + }, + { + "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-1-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11630" + }, + { + "name": "Lesson 2: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-2-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11565" + }, + { + "name": "Lesson 2: Displaying Temperature Data ", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-2.json", + "resourceUrl": "https://authoring.concord.org/activities/11526" + }, + { + "name": "Lesson 2: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-2-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11581" + }, + { + "name": " Lesson 3: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-3-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11583" + }, + { + "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-3.json", + "resourceUrl": "https://authoring.concord.org/activities/11582" + }, + { + "name": " Lesson 3: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-3-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11584" + }, + { + "name": "Lesson 4: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-4-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11586" + }, + { + "name": "Lesson 4: Building Rules", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-4.json", + "resourceUrl": "https://authoring.concord.org/activities/11585" + }, + { + "name": "Lesson 4: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-4-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11587" + }, + { + "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-5-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11593" + }, + { + "name": "Lesson 5: Identifying Air Masses", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-5.json", + "resourceUrl": "https://authoring.concord.org/activities/11588" + }, + { + "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-5-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11595" + }, + { + "name": "Lesson 6: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-6-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11590" + }, + { + "name": "Lesson 6: Modeling Fronts", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-6.json", + "resourceUrl": "https://authoring.concord.org/activities/11589" + }, + { + "name": "Lesson 6: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-6-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11591" + }, + { + "name": "Lesson 7: Analyzing Data and Making a Prediction", + "contentUrl": "offline-activities/precipitating-change-v5/lesson-7.json", + "resourceUrl": "https://authoring.concord.org/activities/11592" + } + ], + "cacheList": [ + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_555555_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", + "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_ffffff_256x240.png", + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2", + "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "https://models-resources.concord.org/question-interactives/version/v0.6.1/image", + "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/heart2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/DatabasedPrediction.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/ModelEvaluation.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/RuleAbstraction.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/RuleRefinement.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/abstraction.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/aggregation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/air_moisture_fog-high.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/ct-decomposition.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/exptrapolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/interpolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/pattern-recognition.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/precipitation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/weather.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/wind-direction.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/exptrapolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/extrapolation.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction.mp4", + "https://project-resources.concord.org/precipitatingchange/Sage2.png", + "https://project-resources.concord.org/precipitatingchange/Sage4.png", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Jackie80_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson6_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Front%20Direction%20Model%20Explanation.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Speed%20Front%20Model%20Explanation.mp4", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", + "https://project-resources.concord.org/precipitatingchange/images-2021/AK-maps-at-3-times.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/AirMassMap-Colored.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/Alaska%20Weather%20Stations_7am%20Interpolated-w-coordinates.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/Move_the_line.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/clouds.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/cloudsandsun.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/lineforprediction.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/rain.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/snow.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/sun.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/Temp-Moisture-Key.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-base-map-with-rose.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-3-unknowns2.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-8-unknowns2.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", + "https://project-resources.concord.org/precipitatingchange/images/3-drop-black-staggered.png", + "https://project-resources.concord.org/precipitatingchange/images/AK-3-maps-interpolation.png", + "https://project-resources.concord.org/precipitatingchange/images/AKABCinterpolationtemp.jpg", + "https://project-resources.concord.org/precipitatingchange/images/AKweightedneigborinterpolation.jpg", + "https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png", + "https://project-resources.concord.org/precipitatingchange/images/linearinterpolation.jpg", + "https://project-resources.concord.org/precipitatingchange/videos/AbstractionMovie.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/Aggregation.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/PatternRecognition.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/WindDirection.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/moisture-amount.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/precipitation_snow_v2.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/weather-movie.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-base-map-wind-air-mass-adj.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-base-map-with-rose.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-w-cities-extended-for-color.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-w-cities.png", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", + "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", + "models-resources/precip-models/Models-2021/Lesson2-1.html", + "models-resources/precip-models/Models-2021/Lesson2-2-colors-v3.html", + "models-resources/precip-models/Models-2021/Lesson2-3-time-slider-v1.html", + "models-resources/precip-models/Models-2021/Lesson2-3-time-slider-v1a.html", + "models-resources/precip-models/Models-2021/Lesson3-1.v1.html", + "models-resources/precip-models/Models-2021/Lesson5-air-masses.v4-new.html", + "models-resources/precip-models/Models-2021/Lesson6-1-v1.html", + "models-resources/precip-models/Models-2021/lesson5-sliders.html\r\n", + "models-resources/precip-models/Models-2021/lesson6-2.v1.html", + "models-resources/precip-models/ak-w-cities.png", + "models-resources/precip-models/precip-rule-ak-v5.html", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/", + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.js" + ] +} From feb6d1f4204f771588ca4b7f748c91efdf50905b Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 6 Apr 2021 20:43:28 -0400 Subject: [PATCH 231/242] changes after running the update-offline-manifest This has no manual changes. It hasn't been tested yet. --- .../precipitating-change-v6/interview.json | 4 +- .../lesson-1-post.json | 4 +- .../precipitating-change-v6/lesson-1.json | 6 +-- .../lesson-2-post.json | 4 +- .../precipitating-change-v6/lesson-2-pre.json | 4 +- .../precipitating-change-v6/lesson-2.json | 4 +- .../lesson-3-post.json | 4 +- .../precipitating-change-v6/lesson-3-pre.json | 4 +- .../precipitating-change-v6/lesson-3.json | 4 +- .../lesson-4-post.json | 4 +- .../precipitating-change-v6/lesson-4-pre.json | 4 +- .../precipitating-change-v6/lesson-4.json | 4 +- .../lesson-5-post.json | 4 +- .../precipitating-change-v6/lesson-5-pre.json | 4 +- .../precipitating-change-v6/lesson-5.json | 34 +++++-------- .../lesson-6-post.json | 4 +- .../precipitating-change-v6/lesson-6-pre.json | 4 +- .../precipitating-change-v6/lesson-6.json | 4 +- .../precipitating-change-v6/lesson-7.json | 4 +- .../precipitating-change-v6.json | 49 +++++++++---------- 20 files changed, 70 insertions(+), 87 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v6/interview.json b/src/public/offline-activities/precipitating-change-v6/interview.json index fa7c1a3b..20bf16ba 100644 --- a/src/public/offline-activities/precipitating-change-v6/interview.json +++ b/src/public/offline-activities/precipitating-change-v6/interview.json @@ -429,11 +429,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-1-post.json index 6e87a301..557d0ba4 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-1-post.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-1-post.json @@ -225,11 +225,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-1.json b/src/public/offline-activities/precipitating-change-v6/lesson-1.json index feac9bd1..8edfca3b 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-1.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-1.json @@ -1059,7 +1059,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"ec77134a-e481-44b6-ae6b-3c946755ecae\"}],\"enableCheckAnswer\":true}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"ec77134a-e481-44b6-ae6b-3c946755ecae\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition for the word “precipitation”?

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -1237,11 +1237,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-2-post.json index f428cc50..1deb6364 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-2-post.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-2-post.json @@ -217,11 +217,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v6/lesson-2-pre.json index 6fefeef8..20e5c4cf 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-2-pre.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-2-pre.json @@ -217,11 +217,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-2.json b/src/public/offline-activities/precipitating-change-v6/lesson-2.json index 02449227..26091999 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-2.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-2.json @@ -2943,11 +2943,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-3-post.json index acdac16b..a92dec3d 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-3-post.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-3-post.json @@ -174,11 +174,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v6/lesson-3-pre.json index 683fa336..0f9ee105 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-3-pre.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-3-pre.json @@ -174,11 +174,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-3.json b/src/public/offline-activities/precipitating-change-v6/lesson-3.json index c11c95a4..7e1d6b5a 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-3.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-3.json @@ -1005,11 +1005,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-4-post.json index 01972c36..412b845b 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-4-post.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-4-post.json @@ -174,11 +174,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v6/lesson-4-pre.json index 95c7809a..eb51ae53 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-4-pre.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-4-pre.json @@ -174,11 +174,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-4.json b/src/public/offline-activities/precipitating-change-v6/lesson-4.json index 0d4f8e85..54ac01d3 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-4.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-4.json @@ -795,11 +795,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-5-post.json index be695c4e..1856a354 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-5-post.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-5-post.json @@ -217,11 +217,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v6/lesson-5-pre.json index c753be8e..d6435afa 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-5-pre.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-5-pre.json @@ -217,11 +217,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-5.json b/src/public/offline-activities/precipitating-change-v6/lesson-5.json index 3f81dcd3..5f31fffa 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-5.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-5.json @@ -892,7 +892,7 @@ "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Air masses and precipitation", + "name": "Exploring a New Weather Model", "position": 9, "show_header": true, "show_info_assessment": true, @@ -904,11 +904,11 @@ "embeddables": [ { "embeddable": { - "content": "

    When you feel the wind blow on your face, you are feeling air from another place. Sometimes it feels cold; sometimes it feels warm. The wind is what moves air. Weather scientists use wind direction to distinguish multiple air masses. What happens at the boundary of those two air masses? You will explore that question using a new Virtual Model.  

    ", + "content": "

    In this unit, you have been examining a particular Virtual Storm. In Lesson 4 you discovered a rule for the model of that storm that matched the conditions that produced precipitation. Now that we know about fronts, we could state the rule as:

    \r\n

    If the front to the northwest is colder than 5 degrees than the front to the south, and the air moisture of the front to the south is 7 or above then it will rain in the front to the south.

    \r\n

    The model below allows you to change the temperature and air moisture content of the wind that enteres the model. Explore this model to see if the rule for rain (above) is obeyed. Also, try to discover if there may be other rules that produces rain and what they might be. Remember to click Setup and Run.

    \r\n
      \r\n
    • The arrowheads show the incoming wind.
    • \r\n
    • The temperature and moisture content of the wind are set by the sliders on the South and West sides.
    • \r\n
    • When precipitation occurs, it is shown as green circles. The larger the circle, the heavier the rain.
    • \r\n
    \r\n

    Read the questions below to help focus your exploration of the model. Hint: start by identifying the fronts. Use city names to describe where fronts and rain occur.

    ", "is_callout": false, "is_full_width": true, "is_hidden": false, - "name": "", + "name": "Rules for the New Model", "type": "Embeddable::Xhtml", "ref_id": "147914-Embeddable::Xhtml" }, @@ -916,21 +916,9 @@ }, { "embeddable": { - "content": "

    This model shows wind as moving arrowheads and precipitation as green circles. There are two air masses. Identify where the front is. 

    \r\n

    Then, by trying different settings of the temperature and moisture, see if you can make up a rule for what conditions produce precipitation along the front, and on which side of the front the precipitation will occur. 

    \r\n

    Start by pressing Setup and Run. As you change temperatures and moisture settings you may want to press Setup occasionally to start fresh. Be sure to discuss what you find with your research team.

    ", - "is_callout": true, - "is_full_width": true, - "is_hidden": false, - "name": "TASK ", - "type": "Embeddable::Xhtml", - "ref_id": "147915-Embeddable::Xhtml" - }, - "section": null - }, - { - "embeddable": { - "name": "Conditions for Precipitation - 2", + "name": "Was the rule obeyed?", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are the conditions in the model that result in precipitation happening along a front?

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Was the rule obeyed? That is, did you find settings for the temperature and moisture on the West and South that produce rain along a front matching the rule above? Please describe.

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -972,16 +960,16 @@ } }, "type": "ManagedInteractive", - "ref_id": "2266-ManagedInteractive", + "ref_id": "2265-ManagedInteractive", "linked_interactives": [] }, "section": null }, { "embeddable": { - "name": "", + "name": "Conditions for Precipitation", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Not all weather models are perfect. After trying this model out, which settings show rain matching the rule you have learned about fronts and precipitation? Please describe.

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    In this model, where are the fronts? What rules did you find that produce rain?

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -1023,7 +1011,7 @@ } }, "type": "ManagedInteractive", - "ref_id": "2265-ManagedInteractive", + "ref_id": "2266-ManagedInteractive", "linked_interactives": [] }, "section": null @@ -1451,11 +1439,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-6-post.json index 1090281f..e5ddcfad 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-6-post.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-6-post.json @@ -174,11 +174,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v6/lesson-6-pre.json index ae599e86..fe72a3ba 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-6-pre.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-6-pre.json @@ -174,11 +174,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-6.json b/src/public/offline-activities/precipitating-change-v6/lesson-6.json index bbe4d47d..c52c40d5 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-6.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-6.json @@ -676,11 +676,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-7.json b/src/public/offline-activities/precipitating-change-v6/lesson-7.json index ef40b6fd..582465ea 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-7.json @@ -592,11 +592,11 @@ "component_label": "glossary", "approved_script": { "name": "Glossary", - "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "label": "glossary", "description": "This plugin provides the glossary activity plugin", "version": 3, - "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" } } diff --git a/src/public/offline-manifests/precipitating-change-v6.json b/src/public/offline-manifests/precipitating-change-v6.json index 0b7165c1..9d2db953 100644 --- a/src/public/offline-manifests/precipitating-change-v6.json +++ b/src/public/offline-manifests/precipitating-change-v6.json @@ -3,109 +3,106 @@ "activities": [ { "name": "Interview - Predicting the Weather Without the Weather Channel", - "contentUrl": "offline-activities/precipitating-change-v5/interview.json", + "contentUrl": "offline-activities/precipitating-change-v6/interview.json", "resourceUrl": "https://authoring.concord.org/activities/11559" }, { "name": "Lesson 1: Making an Initial Prediction", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-1.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-1.json", "resourceUrl": "https://authoring.concord.org/activities/11501" }, { "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-1-post.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-1-post.json", "resourceUrl": "https://authoring.concord.org/activities/11630" }, { "name": "Lesson 2: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-2-pre.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-2-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11565" }, { "name": "Lesson 2: Displaying Temperature Data ", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-2.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-2.json", "resourceUrl": "https://authoring.concord.org/activities/11526" }, { "name": "Lesson 2: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-2-post.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-2-post.json", "resourceUrl": "https://authoring.concord.org/activities/11581" }, { "name": " Lesson 3: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-3-pre.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-3-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11583" }, { "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-3.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-3.json", "resourceUrl": "https://authoring.concord.org/activities/11582" }, { "name": " Lesson 3: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-3-post.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-3-post.json", "resourceUrl": "https://authoring.concord.org/activities/11584" }, { "name": "Lesson 4: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-4-pre.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-4-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11586" }, { "name": "Lesson 4: Building Rules", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-4.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-4.json", "resourceUrl": "https://authoring.concord.org/activities/11585" }, { "name": "Lesson 4: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-4-post.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-4-post.json", "resourceUrl": "https://authoring.concord.org/activities/11587" }, { "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-5-pre.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-5-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11593" }, { "name": "Lesson 5: Identifying Air Masses", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-5.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-5.json", "resourceUrl": "https://authoring.concord.org/activities/11588" }, { "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-5-post.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-5-post.json", "resourceUrl": "https://authoring.concord.org/activities/11595" }, { "name": "Lesson 6: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-6-pre.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-6-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11590" }, { "name": "Lesson 6: Modeling Fronts", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-6.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-6.json", "resourceUrl": "https://authoring.concord.org/activities/11589" }, { "name": "Lesson 6: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-6-post.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-6-post.json", "resourceUrl": "https://authoring.concord.org/activities/11591" }, { "name": "Lesson 7: Analyzing Data and Making a Prediction", - "contentUrl": "offline-activities/precipitating-change-v5/lesson-7.json", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-7.json", "resourceUrl": "https://authoring.concord.org/activities/11592" } ], "cacheList": [ - "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_555555_256x240.png", - "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_777777_256x240.png", - "https://code.jquery.com/ui/1.12.1/themes/base/images/ui-icons_ffffff_256x240.png", "https://fonts.googleapis.com/css?family=Lato", "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2", - "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/manifest.json", - "https://glossary-plugin.concord.org/version/v3.13.0-pre.1/plugin.js", + "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", @@ -269,8 +266,6 @@ "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-base-map-with-rose.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-w-cities-extended-for-color.png", "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-w-cities.png", - "models-resources/glossary-plugin/version/v3.13.0-pre.1/manifest.json", - "models-resources/glossary-plugin/version/v3.13.0-pre.1/plugin.js", "models-resources/precip-models/Models-2021/Lesson2-1.html", "models-resources/precip-models/Models-2021/Lesson2-2-colors-v3.html", "models-resources/precip-models/Models-2021/Lesson2-3-time-slider-v1.html", @@ -304,4 +299,4 @@ "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.css", "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.js" ] -} +} \ No newline at end of file From 2cd854b5a6cea9ebf77bfe8f2caeae68b46227b0 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 6 Apr 2021 21:21:20 -0400 Subject: [PATCH 232/242] incorporate prompt fix manually add an additional lato font that I saw was being requested during testing --- .../precipitating-change-v6/lesson-6-post.json | 2 +- src/public/offline-manifests/precipitating-change-v6.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v6/lesson-6-post.json index e5ddcfad..98c7e5db 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-6-post.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-6-post.json @@ -47,7 +47,7 @@ "embeddable": { "name": "", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}],\"prompt\":\"

    Which student's idea do you agree with the most?

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, diff --git a/src/public/offline-manifests/precipitating-change-v6.json b/src/public/offline-manifests/precipitating-change-v6.json index 9d2db953..4d8fe681 100644 --- a/src/public/offline-manifests/precipitating-change-v6.json +++ b/src/public/offline-manifests/precipitating-change-v6.json @@ -101,6 +101,7 @@ "https://fonts.googleapis.com/css?family=Lato", "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", @@ -299,4 +300,4 @@ "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.css", "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.js" ] -} \ No newline at end of file +} From da4aa05fd3c0e19ee30c40b95fb4b956024736aa Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 6 Apr 2021 22:02:01 -0400 Subject: [PATCH 233/242] fix a few more content issues --- .../precipitating-change-v6/lesson-6.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-6.json b/src/public/offline-activities/precipitating-change-v6/lesson-6.json index c52c40d5..dde4dc7d 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-6.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-6.json @@ -421,7 +421,7 @@ "embeddable": { "name": "Measured distances", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    You have marked three fronts. Please answer the following three questions:

    \\n

    (1) What distance did you measure between the fronts at April 21, 11am, and April 21, 9pm?

    \\n

    (2) What distance did you measure between the fronts at April 21, 9pm and April 22, 7am?

    \\n

    (3) What is the average distance between the fronts?

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    You have marked three fronts. Please answer the following questions:

    \\n

    (1) What distance did you measure between the fronts at April 21, 11am, and April 21, 9pm?

    \\n

    (2) What distance did you measure between the fronts at April 21, 9pm and April 22, 7am?

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -472,7 +472,7 @@ "embeddable": { "name": "Speed of the front", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How fast is the front moving in kilometers per hour? Please show your calculation.

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What is the average speed of the front in kilometers per hour? Please show your work.

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -574,7 +574,7 @@ "embeddable": { "name": "Testing your prediction with the Reveal", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Click Run again and then Reveal April 23, am. Where is the front? Was your prediction correct? Please describe.

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Click Run again and then Reveal April 23, 7am. Where is the front? Was your prediction correct? Please describe.

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, From 0d77921abd711d04282485344d29ff8b7192a3b0 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Tue, 6 Apr 2021 23:44:05 -0400 Subject: [PATCH 234/242] more content changes --- .../precipitating-change-v6/lesson-6.json | 2 +- .../precipitating-change-v6/lesson-7.json | 181 +++++++++++++++++- 2 files changed, 174 insertions(+), 9 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-6.json b/src/public/offline-activities/precipitating-change-v6/lesson-6.json index dde4dc7d..e29f5660 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-6.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-6.json @@ -421,7 +421,7 @@ "embeddable": { "name": "Measured distances", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    You have marked three fronts. Please answer the following questions:

    \\n

    (1) What distance did you measure between the fronts at April 21, 11am, and April 21, 9pm?

    \\n

    (2) What distance did you measure between the fronts at April 21, 9pm and April 22, 7am?

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    You have marked three fronts. Please answer the following questions:

    \\n

    (1) What distance did you measure between the fronts at April 21, 11am and April 21, 9pm?

    \\n

    (2) What distance did you measure between the fronts at April 21, 9pm and April 22, 7am?

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, diff --git a/src/public/offline-activities/precipitating-change-v6/lesson-7.json b/src/public/offline-activities/precipitating-change-v6/lesson-7.json index 582465ea..cf513c5a 100644 --- a/src/public/offline-activities/precipitating-change-v6/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v6/lesson-7.json @@ -267,7 +267,7 @@ "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Unit reflection (cont.)", + "name": "The First and Last Prediction", "position": 4, "show_header": false, "show_info_assessment": true, @@ -291,9 +291,9 @@ }, { "embeddable": { - "name": "", + "name": "Recalling Your First Prediction", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    In Lesson 1, Page 5 - Making a Prediction, what did you predict the weather will be at 7:00 am in Anchorage on April 23?

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    In Lesson 1, Page 5, you made a prediction for the weather in Anchorage at 7:00am on April 23. You may go back to Lesson 1 to check your first prediction and how confident you were about it. What was this prediction?

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -342,9 +342,9 @@ }, { "embeddable": { - "name": "", + "name": "First Prediction Confidence", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"a6d209ef-958d-474c-a8db-e1b73b84fde7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"2ffa3691-0e65-48b2-8466-b8528d8de2b5\"}],\"prompt\":\"

    How confident were you of your prediction?

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"a6d209ef-958d-474c-a8db-e1b73b84fde7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"2ffa3691-0e65-48b2-8466-b8528d8de2b5\"}],\"prompt\":\"

    How confident were you of your first prediction?

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -393,9 +393,21 @@ }, { "embeddable": { - "name": "", + "content": "

    It is time to make your official weather prediction. Think about what you have learned about temperature interpolation, air masses and wind direction, fronts and rain, and where the front will be on April 23rd at 7am.

    \r\n

    Use all of this knowledge to look at the weather data and make a new prediction for what the weather will be on April 23rd at 7am? You may look back to previous lessons to help you with your prediction.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "The Prediction for the NYO Games", + "type": "Embeddable::Xhtml", + "ref_id": "149353-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Temperature in Anchorage", "url_fragment": null, - "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What did you learn during this unit that helped you make a more accurate prediction.

    \"}", + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What will the temperature be in Anchorage on April 23rd at 7am? Explain your reasoning. (Hint: you know the front is past Anchorage, so which air mass will Anchorage be in?)\\r

    \"}", "is_hidden": false, "is_full_width": true, "show_in_featured_question_report": true, @@ -441,6 +453,159 @@ "linked_interactives": [] }, "section": null + }, + { + "embeddable": { + "name": "Precipitation in Anchorage", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Will there be precipitation in Anchorage on April 23rd at 7am? Explain your reasoning. (Hint: Think about the relationship between the front and precipitation.)

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2313-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Wind Direction in Anchorage", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What will be the wind direction in Anchorage on April 23rd at 7am? Explain your reasoning. (Hint: Think about which air mass Anchorage will be in at that time and which direction the wind is traveling in that air mass. Remember to say where the wind is coming from.)

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2314-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Confidence of Your Final Prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"70710958-5145-4094-986d-0bb0a7820df7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"6af2d1f0-e02b-4dba-9e05-5c02357b0b53\"}],\"prompt\":\"

    How confident are you of your final prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2315-ManagedInteractive", + "linked_interactives": [] + }, + "section": null } ] }, @@ -451,7 +616,7 @@ "is_completion": false, "is_hidden": false, "layout": "l-full-width", - "name": "Presentation", + "name": "Making a Presentation for the NYO Planning Committee", "position": 5, "show_header": true, "show_info_assessment": true, From bfe273bded4ff55c5226fec5fbe44874bb4ead97 Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Wed, 7 Apr 2021 12:41:05 -0400 Subject: [PATCH 235/242] Export storage providers and JWT for type access in testing. Also moved some storage-facade related type declarations to the top of the file. [#177343947] Adding spec tests for storage facade https://www.pivotaltracker.com/story/show/177343947 --- src/portal-api.ts | 2 +- src/storage/storage-facade.ts | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/portal-api.ts b/src/portal-api.ts index ea49b060..2b56a9e5 100644 --- a/src/portal-api.ts +++ b/src/portal-api.ts @@ -128,7 +128,7 @@ interface PortalStudentJWT extends BasePortalJWT { offering_id: number; } -type PortalJWT = PortalStudentJWT; // eventually may include other user types +export type PortalJWT = PortalStudentJWT; // eventually may include other user types interface BasePortalFirebaseJWT { alg: string; diff --git a/src/storage/storage-facade.ts b/src/storage/storage-facade.ts index b7bbf9db..dd9d32e9 100644 --- a/src/storage/storage-facade.ts +++ b/src/storage/storage-facade.ts @@ -17,6 +17,9 @@ export interface IDBInitializer extends IInitStorageParams{ } +interface IAnswerWatcherCallback { (answer: IWrappedDBAnswer): void } +type IQuestionWatchersRecord = Record>; + export interface IWrappedDBAnswer { meta: IExportableAnswerMetadata; interactiveState: any; @@ -116,7 +119,7 @@ export interface IStorageInterface { syncData(): Promise, } -class FireStoreStorageProvider implements IStorageInterface { +export class FireStoreStorageProvider implements IStorageInterface { portalData: IPortalData|IAnonymousPortalData; isPreview: boolean; onSaveTimeout(handler: () => void) { @@ -211,9 +214,7 @@ class FireStoreStorageProvider implements IStorageInterface { } -interface IAnswerWatcherCallback { (answer: IWrappedDBAnswer): void } -type IQuestionWatchersRecord = Record>; -class DexieStorageProvider implements IStorageInterface { +export class DexieStorageProvider implements IStorageInterface { portalData: IPortalData|IAnonymousPortalData; haveFireStoreConnection: boolean; answerWatchers: Record; From 03188d18a2dbedfbe5fb2013187c9418c12ba34e Mon Sep 17 00:00:00 2001 From: Noah Paessel Date: Wed, 7 Apr 2021 12:41:22 -0400 Subject: [PATCH 236/242] Add some jest tests [#177343947] Adding spec tests for storage facade https://www.pivotaltracker.com/story/show/177343947 --- src/storage/storage-facade.test.ts | 115 +++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 src/storage/storage-facade.test.ts diff --git a/src/storage/storage-facade.test.ts b/src/storage/storage-facade.test.ts new file mode 100644 index 00000000..eac6c7ba --- /dev/null +++ b/src/storage/storage-facade.test.ts @@ -0,0 +1,115 @@ + +import { + initStorage, IInitStorageParams, + DexieStorageProvider, FireStoreStorageProvider, + TrackOfflineResourceUrl, IStorageInterface +} from "./storage-facade"; +import "firebase/firestore"; +import { IPortalData, PortalJWT } from "../portal-api"; + +const goodPortalData: IPortalData = { + type: "authenticated", + contextId: "context-id", + database: { + appName: "report-service-dev", + sourceKey: "localhost", + rawFirebaseJWT: "abc" + }, + offering: { + id: 1, + activityUrl: "http://example/activities/1", + rubricUrl: "" + }, + platformId: "https://example", + platformUserId: "1", + resourceLinkId: "2", + resourceUrl: "http://example/resource", + toolId: "activity-player.concord.org", + userType: "learner", + runRemoteEndpoint: "https://example.com/learner/1234", + loggingUsername: "1@example.com" +}; + +const getGoodPortalJWT = ():PortalJWT => { + return { + exp: Date.now() / 1000 + 60 * 1000, + domain: "test", + alg: "alg", + iat: Date.now() / 1000, + class_info_url: "class_info_url", + learner_id: 777, + offering_id: 777, + uid: 777, + user_id: "777", + user_type: "learner" + }; +}; + +describe("Storage Facade", () => { + + const storageInitParams: IInitStorageParams = { + offline: true, + preview: false, + name: "report-service-dev" + }; + + let storage: IStorageInterface | null = null; + + describe("initStorage", () => { + it("it returns a Dexie storage provider if we are offline", async () => { + storageInitParams.offline = true; + storage = await initStorage(storageInitParams); + expect(storage).toBeInstanceOf(DexieStorageProvider); + }); + + it("it returns a FireBase storage provider if we are offline", async () => { + storageInitParams.offline = false; + storage = await initStorage(storageInitParams); + expect(storage).toBeInstanceOf(FireStoreStorageProvider); + }); + }); + + + + describe("canSyncData", () => { + describe("DexieStorageProvider", () => { + beforeEach(async () => { + storageInitParams.offline = true; + storage = await initStorage(storageInitParams); + storage.setPortalData(goodPortalData); + }); + + describe("With valid portal JWT", () => { + beforeEach(() => goodPortalData.portalJWT = getGoodPortalJWT()); + describe("When on the correct activity", () => { + beforeEach(() => TrackOfflineResourceUrl(goodPortalData.resourceUrl)); + + it("can Sync", async () => { + expect(storage?.canSyncData()).toBeTruthy(); + }); + }); + + describe("When on a different activity", () => { + beforeEach(() => TrackOfflineResourceUrl("bogus")); + it("Can't Sync", async () => { + expect(storage?.canSyncData()).toBeFalsy(); + }); + }); + }); + + describe("Without a portal JWT", () => { + beforeEach(() => goodPortalData.portalJWT = undefined); + it("can't Sync", async () => { + expect(storage?.canSyncData()).toBeFalsy(); + }); + }); + }); + + describe("FireStoreStorageProvider", () => { + beforeEach(() => storageInitParams.offline = false); + it("can't sync", async () => { + expect(storage?.canSyncData()).toBeFalsy(); + }); + }); + }); +}); From 2632dc9cb757faaf285b2584ad832387794750a4 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Wed, 7 Apr 2021 17:13:30 -0400 Subject: [PATCH 237/242] clean up lint warnings --- cypress/integration/completion-page.test.ts | 1 - src/offline-manifest-api.test.ts | 53 +++++++++++---------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/cypress/integration/completion-page.test.ts b/cypress/integration/completion-page.test.ts index 63d5add6..3bcc0e3d 100644 --- a/cypress/integration/completion-page.test.ts +++ b/cypress/integration/completion-page.test.ts @@ -1,7 +1,6 @@ import ActivityPage from "../support/elements/activity-page"; const activityPage = new ActivityPage; -const activity1Title = "Question-Interactives Activity Player"; const activity2Title = "Activity Player Copy of LARA Smoke Test v2"; context("Test the overall app", () => { diff --git a/src/offline-manifest-api.test.ts b/src/offline-manifest-api.test.ts index 9460c7cd..6ccd6a77 100644 --- a/src/offline-manifest-api.test.ts +++ b/src/offline-manifest-api.test.ts @@ -1,6 +1,11 @@ import fetch from "jest-fetch-mock"; -import { cacheOfflineManifest, clearOfflineManifestAuthoringData, clearOfflineManifestAuthoringId, getOfflineManifest, getOfflineManifestAuthoringData, getOfflineManifestAuthoringDownloadJSON, getOfflineManifestAuthoringId, getOfflineManifestUrl, mergeOfflineManifestWithAuthoringData, normalizeAndSortOfflineActivities, OfflineManifestAuthoringData, OfflineManifestAuthoringDataKeyPrefix, OfflineManifestAuthoringIdKey, setOfflineManifestAuthoringData, setOfflineManifestAuthoringId } from "./offline-manifest-api"; +import { clearOfflineManifestAuthoringData, clearOfflineManifestAuthoringId, + getOfflineManifest, getOfflineManifestAuthoringData, getOfflineManifestAuthoringDownloadJSON, + getOfflineManifestAuthoringId, getOfflineManifestUrl, mergeOfflineManifestWithAuthoringData, + normalizeAndSortOfflineActivities, OfflineManifestAuthoringData, + OfflineManifestAuthoringDataKeyPrefix, OfflineManifestAuthoringIdKey, + setOfflineManifestAuthoringData, setOfflineManifestAuthoringId } from "./offline-manifest-api"; import { OfflineManifest } from "./types"; (window as any).fetch = fetch; @@ -34,29 +39,29 @@ describe("offline manifest api", () => { // Now the caching happens in the service worker and it sends messages to // the page about its progress it.skip("handles #cacheOfflineManifest", (done) => { - const testManifest: OfflineManifest = { - name: "Test Manifest", - activities: [ - { - name: "Activity 1", - resourceUrl: "http://example.com/activity-1-resource-url", - contentUrl: "http://example.com/activity-1-content-url" - }, - { - name: "Activity 2", - resourceUrl: "http://example.com/activity-2-resource-url", - contentUrl: "http://example.com/activity-2-content-url" - } - ], - cacheList: [ - "http://example.com/cache-list-item-1", - "http://example.com/cache-list-item-2" - ] - }; - const onCachingStarted = jest.fn(); - const onUrlCached = jest.fn(); - const onUrlCacheFailed = jest.fn(); - const onCachingFinished = jest.fn(); + // const testManifest: OfflineManifest = { + // name: "Test Manifest", + // activities: [ + // { + // name: "Activity 1", + // resourceUrl: "http://example.com/activity-1-resource-url", + // contentUrl: "http://example.com/activity-1-content-url" + // }, + // { + // name: "Activity 2", + // resourceUrl: "http://example.com/activity-2-resource-url", + // contentUrl: "http://example.com/activity-2-content-url" + // } + // ], + // cacheList: [ + // "http://example.com/cache-list-item-1", + // "http://example.com/cache-list-item-2" + // ] + // }; + // const onCachingStarted = jest.fn(); + // const onUrlCached = jest.fn(); + // const onUrlCacheFailed = jest.fn(); + // const onCachingFinished = jest.fn(); // const resp = cacheOfflineManifest({ // offlineManifest: testManifest, // onCachingStarted, From a906e15ac08fffeff233ec1a52cf39d29156cc84 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Thu, 8 Apr 2021 10:27:26 -0400 Subject: [PATCH 238/242] add support for in place manifest updating This makes it easier to test script changes. If --no-fetch-activities is used and --bump-version is not used, then the manifest and activities will be updated in place. The activities will not be fetched, but they might change if the script does modifications that haven't been done already. --- src/scripts/update-offline-manifest.ts | 114 +++++++++++++------------ 1 file changed, 61 insertions(+), 53 deletions(-) diff --git a/src/scripts/update-offline-manifest.ts b/src/scripts/update-offline-manifest.ts index 4a3bc899..047c100f 100644 --- a/src/scripts/update-offline-manifest.ts +++ b/src/scripts/update-offline-manifest.ts @@ -7,12 +7,12 @@ import { getAllUrlsInActivity, removeDuplicateUrls, rewriteProxiableIframeUrls, import fetch from "node-fetch"; import { config } from "./update-offline-manifest.config"; -interface BumpInfo { - newManifestPath: string; - newActivityDir: string; - createNewDir: boolean; - oldVersionName: string; - newVersionName: string; +interface OutputInfo { + outputManifestPath: string; + outputActivityDir: string; + createOutputDir: boolean; + sourceVersionName: string; + outputVersionName: string; } // pretend to be chrome, this helps with google fonts @@ -94,46 +94,54 @@ const getActivity = async (offlineActivity: OfflineManifestActivity): Promise /^models-resources\//.test(url) ? `http://activity-player-offline.concord.org/${url}` : url; -const getBumpInfo = (manifestPath: string): BumpInfo => { +const getOutputInfo = (manifestPath: string, bumpVersion: boolean): OutputInfo => { const {dir, base} = path.parse(manifestPath); + const matches = base.match(/^(.*)-v(\d+)\.json$/); if (!matches) { return die(`Not a versioned manifest we can deal with: ${manifestPath}`); } - const version = parseInt(matches[2], 10); - if (isNaN(version)) { + + const sourceVersion = parseInt(matches[2], 10); + if (isNaN(sourceVersion)) { return die(`Not a integer version: ${matches[2]}`); } - const oldVersionName = `${matches[1]}-v${version}`; - const newVersionName = `${matches[1]}-v${version + 1}`; - const newManifestPath = path.join(dir, `${newVersionName}.json`); - let newActivityDir = dir.replace("offline-manifests", "offline-activities"); - const oldActivityDir = path.join(newActivityDir, oldVersionName); + const sourceVersionName = `${matches[1]}-v${sourceVersion}`; + + const outputVersion = bumpVersion ? sourceVersion + 1 : sourceVersion; + + const outputVersionName = `${matches[1]}-v${outputVersion}`; + const outputManifestPath = path.join(dir, `${outputVersionName}.json`); + const offlineActivitiesDir = dir.replace("offline-manifests", "offline-activities"); - let createNewDir = false; + let outputActivityDir = offlineActivitiesDir; + let createOutputDir = false; + + // Some manifests use directories for their activities files try { - const oldVersionStat = fs.statSync(oldActivityDir); - if (oldVersionStat.isDirectory()) { - newActivityDir = path.join(newActivityDir, newVersionName); - createNewDir = true; + const possibleSourceActivityDir = path.join(offlineActivitiesDir, sourceVersionName); + const sourceVersionStat = fs.statSync(possibleSourceActivityDir); + if (sourceVersionStat.isDirectory()) { + outputActivityDir = path.join(outputActivityDir, outputVersionName); + createOutputDir = true; } } catch (e) {} // eslint-disable-line no-empty return ({ - newManifestPath, - newActivityDir, - createNewDir, - oldVersionName, - newVersionName + outputManifestPath, + outputActivityDir, + createOutputDir, + sourceVersionName, + outputVersionName }); }; -const saveActivity = (bumpInfo: BumpInfo, offlineActivity: OfflineManifestActivity, activity: Activity) => { +const saveActivity = (outputInfo: OutputInfo, offlineActivity: OfflineManifestActivity, activity: Activity) => { let {base} = path.parse(offlineActivity.contentUrl); - if (!bumpInfo.createNewDir) { - base = base.replace(bumpInfo.oldVersionName, bumpInfo.newVersionName); + if (!outputInfo.createOutputDir) { + base = base.replace(outputInfo.sourceVersionName, outputInfo.outputVersionName); } - const filename = path.join(bumpInfo.newActivityDir, base); + const filename = path.join(outputInfo.outputActivityDir, base); console.log(` saving ${filename}...`); fs.writeFileSync(filename, JSON.stringify(activity, null, 2)); }; @@ -171,32 +179,43 @@ const removeTeacherEdition = (activity: Activity) => { }); }; +const saveUpdatedManifest = (outputInfo: OutputInfo, bumpVersion: boolean, + sourceManifest: OfflineManifest, cacheList: string[]) => { + + let activities = sourceManifest.activities; + if (bumpVersion) { + activities = sourceManifest.activities.map(a => ({...a, contentUrl: a.contentUrl.replace(outputInfo.sourceVersionName, outputInfo.outputVersionName)})); + } + const newOfflineManifest: OfflineManifest = { + name: sourceManifest.name, + activities, + cacheList + }; + console.log(` saving ${outputInfo.outputManifestPath}...`); + fs.writeFileSync(outputInfo.outputManifestPath, JSON.stringify(newOfflineManifest, null, 2)); +}; + const main = async () => { const manifestPath = getManifestPath(); const manifestJSON = loadJSONFile(manifestPath) as OfflineManifest; let cacheList: string[] = []; - const bumpInfo = bumpVersion ? getBumpInfo(manifestPath) : null; - if (bumpInfo?.createNewDir) { + const outputInfo = getOutputInfo(manifestPath, bumpVersion); + if (outputInfo?.createOutputDir) { try { - fs.mkdirSync(bumpInfo.newActivityDir); + fs.mkdirSync(outputInfo.outputActivityDir); } catch (e) {} // eslint-disable-line no-empty } - await manifestJSON.activities.reduce(async (promise, offlineActivity: OfflineManifestActivity) => { - await promise; - + for (const offlineActivity of manifestJSON.activities) { const activity = await getActivity(offlineActivity); if (activity) { // update glossary urls and question interactives in activity updateActivityUrls(activity); - // remove teacher edition removeTeacherEdition(activity); - if (bumpInfo) { - saveActivity(bumpInfo, offlineActivity, activity); - } + saveActivity(outputInfo, offlineActivity, activity); // Replace the iframe urls with models-resources when we can // But do this after we save the activity since the same thing is going @@ -210,7 +229,7 @@ const main = async () => { console.log(` found ${urls.length} urls ...`); cacheList.push(...urls); } - }, Promise.resolve()); + } cacheList = removeDuplicateUrls(cacheList); cacheList.sort(); @@ -220,23 +239,12 @@ const main = async () => { // console.log(`\nFound ${cacheList.length} unique urls in content and ${oldMissingUrls.length} urls in manifest cache list not in activities`); console.log(`\nFound ${cacheList.length} unique urls in content`); - if (bumpInfo) { - // save the cacheList in the new manifest version - const newOfflineManifest: OfflineManifest = { - name: manifestJSON.name, - activities: manifestJSON.activities.map(a => ({...a, contentUrl: a.contentUrl.replace(bumpInfo.oldVersionName, bumpInfo.newVersionName)})), - cacheList - }; - console.log(` saving ${bumpInfo.newManifestPath}...`); - fs.writeFileSync(bumpInfo.newManifestPath, JSON.stringify(newOfflineManifest, null, 2)); - } + saveUpdatedManifest(outputInfo, bumpVersion, manifestJSON, cacheList); console.log("\nTesting all urls..."); const badUrls: {url: string, status: number}[] = []; - await cacheList.reduce(async (promise, url: string) => { - await promise; - + for (let url of cacheList) { url = maybeProxyUrl(url); console.log(" ", url); try { @@ -246,7 +254,7 @@ const main = async () => { badUrls.push({url, status: e.status}); } } - }, Promise.resolve()); + } if (badUrls.length > 0) { console.error(`\nFound ${badUrls.length} bad urls...`); From eda0bf8c3ec4fbcce5716f8ad45b5a33de2c6775 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Thu, 8 Apr 2021 22:13:50 -0400 Subject: [PATCH 239/242] fix lint issues --- src/scripts/update-offline-manifest.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/scripts/update-offline-manifest.ts b/src/scripts/update-offline-manifest.ts index 047c100f..7d17e7e5 100644 --- a/src/scripts/update-offline-manifest.ts +++ b/src/scripts/update-offline-manifest.ts @@ -94,7 +94,7 @@ const getActivity = async (offlineActivity: OfflineManifestActivity): Promise /^models-resources\//.test(url) ? `http://activity-player-offline.concord.org/${url}` : url; -const getOutputInfo = (manifestPath: string, bumpVersion: boolean): OutputInfo => { +const getOutputInfo = (manifestPath: string): OutputInfo => { const {dir, base} = path.parse(manifestPath); const matches = base.match(/^(.*)-v(\d+)\.json$/); @@ -179,8 +179,7 @@ const removeTeacherEdition = (activity: Activity) => { }); }; -const saveUpdatedManifest = (outputInfo: OutputInfo, bumpVersion: boolean, - sourceManifest: OfflineManifest, cacheList: string[]) => { +const saveUpdatedManifest = (outputInfo: OutputInfo, sourceManifest: OfflineManifest, cacheList: string[]) => { let activities = sourceManifest.activities; if (bumpVersion) { @@ -200,7 +199,7 @@ const main = async () => { const manifestJSON = loadJSONFile(manifestPath) as OfflineManifest; let cacheList: string[] = []; - const outputInfo = getOutputInfo(manifestPath, bumpVersion); + const outputInfo = getOutputInfo(manifestPath); if (outputInfo?.createOutputDir) { try { fs.mkdirSync(outputInfo.outputActivityDir); @@ -239,7 +238,7 @@ const main = async () => { // console.log(`\nFound ${cacheList.length} unique urls in content and ${oldMissingUrls.length} urls in manifest cache list not in activities`); console.log(`\nFound ${cacheList.length} unique urls in content`); - saveUpdatedManifest(outputInfo, bumpVersion, manifestJSON, cacheList); + saveUpdatedManifest(outputInfo, manifestJSON, cacheList); console.log("\nTesting all urls..."); From f0527f3a3ffbe8d269bf8ee6795fc5531bf1fac8 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Thu, 8 Apr 2021 22:43:05 -0400 Subject: [PATCH 240/242] add documentation --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 30f3bfa0..d39ac2e5 100644 --- a/README.md +++ b/README.md @@ -211,6 +211,21 @@ If the activity uses a master branch version of question-interactives. The manif When new code is added to the master branch the old files are deleted and new files are added so now the master branch question-interactive index.html will refer to a different js file such as: `/models-resources/question-interactivs/branch/master/index.def456.js`. This file will not have been cached during the manifest installation process so when running offline the question-interactives won't be able to find its javascript. Because of this it is always best to refer to versioned interactives which we know will not be modified, so the list of files in the manifest will always be correct. +### Updating a Manifest + +Once you have the list of activities in the manifest you can use `npm run update-offline-manifest ` to update the activity content and regenerate the cache list in the manifest based on the content of the activities. By default the script will download the activities from LARA based on their `resourceUrl` and update the activity files stored in this repository based on the `contentUrl`. Additionally the script has two options: +- `--bump-version` this will duplicate the manifest and its associated activities with a new version name. So if it was `project-v1` the new one would be `project-v2`. +- `--no-fetch-activities` don't download the activities from LARA, just use the existing activities. The script might still modify the existing activities because it makes local changes. + +To pass options through `npm run` an addition `--` is required so an example of bumping the version is + + npm run update-offline-manifest -- --bump-version precipitating-change-v6 + +Besides regenerating the cacheList, the script will modify the activities: +- remove the teacher edition embeddables +- update the glossary plugin urls +- update the question-interactive urls + ### Assignments to support Offline Manifests The student or teacher will need to install the files from the offline manifest before the student goes offline. From ef0a384a8b04c1ffa0c0f5e85755cdbca2ce73f8 Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Fri, 9 Apr 2021 21:07:15 -0400 Subject: [PATCH 241/242] initial copy of v6 manifest and content --- .../precipitating-change-v7/interview.json | 443 +++ .../lesson-1-post.json | 239 ++ .../precipitating-change-v7/lesson-1.json | 1251 +++++++ .../lesson-2-post.json | 231 ++ .../precipitating-change-v7/lesson-2-pre.json | 231 ++ .../precipitating-change-v7/lesson-2.json | 2957 +++++++++++++++++ .../lesson-3-post.json | 188 ++ .../precipitating-change-v7/lesson-3-pre.json | 188 ++ .../precipitating-change-v7/lesson-3.json | 1019 ++++++ .../lesson-4-post.json | 188 ++ .../precipitating-change-v7/lesson-4-pre.json | 188 ++ .../precipitating-change-v7/lesson-4.json | 809 +++++ .../lesson-5-post.json | 231 ++ .../precipitating-change-v7/lesson-5-pre.json | 231 ++ .../precipitating-change-v7/lesson-5.json | 1453 ++++++++ .../lesson-6-post.json | 188 ++ .../precipitating-change-v7/lesson-6-pre.json | 188 ++ .../precipitating-change-v7/lesson-6.json | 690 ++++ .../precipitating-change-v7/lesson-7.json | 771 +++++ .../precipitating-change-v7.json | 303 ++ src/scripts/update-offline-manifest.config.ts | 2 +- 21 files changed, 11988 insertions(+), 1 deletion(-) create mode 100644 src/public/offline-activities/precipitating-change-v7/interview.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-1-post.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-1.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-2-post.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-2-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-2.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-3-post.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-3-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-3.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-4-post.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-4-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-4.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-5-post.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-5-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-5.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-6-post.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-6-pre.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-6.json create mode 100644 src/public/offline-activities/precipitating-change-v7/lesson-7.json create mode 100644 src/public/offline-manifests/precipitating-change-v7.json diff --git a/src/public/offline-activities/precipitating-change-v7/interview.json b/src/public/offline-activities/precipitating-change-v7/interview.json new file mode 100644 index 00000000..20bf16ba --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/interview.json @@ -0,0 +1,443 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Interview - Predicting the Weather Without the Weather Channel", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143459, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png\"}", + "is_hidden": true, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1636-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Predicting the weather without the Weather Channel

    \r\n

    Talk with an adult family member or family friend who you think might have experience predicting the weather (maybe even someone who is older who learned how to predict the weather when they were around your age).

    \r\n

    What if you needed a weather forecast and couldn’t use your usual ways of checking the weather? Imagine you’re planning to go snowmobiling on the tundra, but there’s a big power failure and there’s no TV, Internet, or cell phone available. Even the radio isn’t working! You might try to figure out a weather forecast with help from someone you know.

    \r\n

    Ask the person the questions below and write down their ideas. If possible, record your talk so you can go back and check that you’ve written down all the important ideas.

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "Predicting the Weather Without the Weather Channel", + "type": "Embeddable::Xhtml", + "ref_id": "147758-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png\"}", + "is_hidden": false, + "is_full_width": false, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1657-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"required\":true,\"prompt\":\"

    How did you learn how to predict the weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1638-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What things do you observe to help you predict the weather?

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1639-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How do you observe those things? (What senses do you use? What tools or instruments do you use?)

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1640-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How do you use what you observe to predict what the upcoming weather is going to be like?

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1641-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Step outside together and ask: what do you think the weather is going to be like twelve hours from now and how do you know? If you are talking with someone who is far away, maybe by phone or Internet, ask them to either take a picture of what the sky is like where they are and send it to you or else describe what they see to you as they answer this question.

    \",\"required\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1642-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144898, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-1-post.json new file mode 100644 index 00000000..557d0ba4 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-1-post.json @@ -0,0 +1,239 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": null, + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144077, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As you answer these questions, think about the words used by the person you talked with about weather and the words used by a meteorologist. How do each of them describe weather and weather forecasting?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148413-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are some similarities between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1834-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What are some differences between how the adult person you talked with predicts weather and the way meteorologists who share forecasts on TV and the Internet predict weather?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1835-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why might it be worthwhile to have some understanding of how to predict weather yourself (without using information from TV or Internet)?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1836-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144899, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-1.json b/src/public/offline-activities/precipitating-change-v7/lesson-1.json new file mode 100644 index 00000000..8edfca3b --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-1.json @@ -0,0 +1,1251 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 1: Making an Initial Prediction", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143296, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever wondered how people on the news are able to predict tomorrow’s weather?

    \r\n

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will tell you about her job and how she predicts the weather.  Jackie will provide more information about being a meteorologist throughout this unit.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Jackie Purcell, a news station meteorologist", + "type": "Embeddable::Xhtml", + "ref_id": "147485-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Jackie Purcell - Lesson 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1262-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142934, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Overall Introduction", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Welcome to Precipitating Change! Watch this video to see what it is all about!

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "What This Unit Is About", + "type": "Embeddable::Xhtml", + "ref_id": "147101-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Mr. Neyhard's Introduction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1180-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142945, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Lesson Opening", + "position": 3, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Your unit challenge will be to determine if the Native Youth Olympics (NYO Games) in Anchorage will be able to take place as planned, be postponed or even be canceled because of problems traveling from across Alaska due to weather.

    \r\n

    To solve this challenge throughout the unit, you will need to learn how to predict the weather.

    \r\n

    You will have the following tools to help you:

    \r\n

    • Real-world data for the Alaska mainland
    • A toolkit to help analyze the data

    \r\n

    Watch Mr. Neyhard tell you more about the unit challenge.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "The unit challenge", + "type": "Embeddable::Xhtml", + "ref_id": "147111-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1184-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 142944, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring the Weather", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    EXPLORING THE WEATHER

    \r\n

    \"What am I going to wear today?\" is a question everyone asks each morning. How do you determine what you are going to wear? What information do you collect to inform your decision?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147110-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png\",\"highResUrl\":\"https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1263-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "Reading Weather Forcasts", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2230-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "content": "

    Look at the weather data for the morning on Tuesday.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147486-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"54°F\",\"correct\":true}],\"prompt\":\"

    What is the predicted temperature on Tuesday morning?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1265-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"44°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"57°F\",\"correct\":true},{\"id\":\"3\",\"content\":\"54°F\",\"correct\":false}],\"prompt\":\"

    What is the predicted high temperature on Tuesday during the day?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1266-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Sunshine\",\"correct\":false},{\"id\":\"2\",\"content\":\"Snow\",\"correct\":false},{\"id\":\"3\",\"content\":\"Rain\",\"correct\":true}],\"prompt\":\"

    What does the symbol on Tuesday mean?

    \\n

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1267-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"3\",\"content\":\"Shorts and T-shirt with sunglasses because it will be sunny and hot.\",\"correct\":false},{\"id\":\"2\",\"content\":\"My parka/big fluffy coat, snow pants, snow boots, and ski goggles because snow will be falling.\",\"correct\":false},{\"id\":\"1\",\"content\":\"A sweater, some pants, and either an umbrella or a rain jacket because it’s not too cold or too warm but it is supposed to be raining.\",\"correct\":true}],\"prompt\":\"

    Based on the weather forecast, what would you wear on Tuesday morning?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1268-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "carousel", + "id": 143199, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Making a Prediction", + "position": 5, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Data Dump Video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2231-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Can you determine at night what the weather will be the following morning? What kind of information goes into a weather prediction?

    \r\n

    You have been planning to go to the NYO Games in Anchorage on April 23 at 7 am. This event has been planned for months and you are expecting that about 500 students will compete from all over the state. One of your jobs is to watch the weather and determine if the event is safe to proceed as planned, or if it should be postponed or cancelled.

    \r\n

    Below is an Alaska weather dataset from weather stations that includes temperature, precipitation, wind speed, and wind direction.

    \r\n

    The data from the weather stations are organized to show information for a 24-hour time period.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Making a Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147487-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1297-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1298-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"prompt\":\"

    Click through the radar images which provide precipitation changes for a 24-hour time period.

    \",\"subinteractives\":[{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png\"},\"id\":\"e2d9c1ad-3de3-4180-ad77-6204ac763054\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png\"},\"id\":\"9dc95d66-5ef9-48ba-9c7d-8196af99ff02\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png\"},\"id\":\"7def587c-00c8-4ac8-be4e-62967412f70e\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png\"},\"id\":\"ed20f53f-3f0b-46c0-9dac-89459cdaf673\",\"navImageUrl\":\"\"},{\"url\":\"https://models-resources.concord.org/question-interactives/version/v0.6.1/image\",\"authoredState\":{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png\"},\"id\":\"e7435ef2-3a84-47d3-9234-6e061c04ad28\",\"navImageUrl\":\"\"}],\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "ce065054c8b26efaac977457d0e7332c457e6061", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/carousel/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This Carousel is configured to not save state. So it won't show up the report. This is useful if it is only showing a collection of pictures or videos. ", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Carousel Interactive not a Question", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2280-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What do you predict the weather will be at 7am in Anchorage on April 23rd? Will it be raining in Anchorage or not? Please include a number for the temperature, for example 75 degrees F. in your explanation.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1434-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"likert\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"6cf707ea-431c-4873-b351-7ce8fe6af548\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"42e03e94-4e9d-4d84-89d8-71efb91ea9bd\"}],\"prompt\":\"

    How confident are you of your prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1350-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143338, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148889-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How the air feels and the sky looks when I go outside\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The condition of the air that surrounds the Earth at a particular time and place\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) What the sky will do at any given time\",\"correct\":false},{\"content\":\"d) Rain, snow, sleet, hail, sunshine, clouds\",\"correct\":false,\"id\":\"17adffb5-75c5-445c-97ba-7c8bc40428a5\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition for the word “weather”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2012-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Forecast based on evidence about a future event\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Having a premonition\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) When you know something is going to happen\",\"correct\":false},{\"content\":\"d) Forecast based on evidence about past events\",\"correct\":false,\"id\":\"cc1298b9-983c-4665-8259-1846d12d93bc\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition for the word “prediction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2013-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"ec77134a-e481-44b6-ae6b-3c946755ecae\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition for the word “precipitation”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2014-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To focus on my work\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To learn something about weather\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) To predict the weather at 7am in Anchorage on April 23rd\",\"correct\":true},{\"content\":\"d) To get into the NYO Games\",\"correct\":false,\"id\":\"71d0bbc7-d5bd-47f8-9be5-1f1591c8918e\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is your challenge for this weather unit?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2015-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) First, click on the word\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Second, look at the picture and read the caption\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Third, try to write my own definition for the word\",\"correct\":false},{\"content\":\"d) Fourth, read the actual definition and watch the video if needed\",\"correct\":false,\"id\":\"76ac086c-1572-48f3-bceb-944f20697651\"},{\"content\":\"e) All of the above\",\"correct\":true,\"id\":\"9a77ae48-7532-44cd-9112-58d1b87c5470\"},{\"content\":\"f) Only answers C and D\",\"correct\":false,\"id\":\"cdcb1029-a50e-4f9b-af8c-62eeb16fc034\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do you use the glossary?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2016-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144863, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 7, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-2-post.json new file mode 100644 index 00000000..1deb6364 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-2-post.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143587, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147889-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1684-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1685-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17136-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144901, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v7/lesson-2-pre.json new file mode 100644 index 00000000..20e5c4cf --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-2-pre.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143495, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Estimate the Temperature?

    \r\n

    Ms. Tevuk’s class is studying weather. The students will make a computer model to predict weather in Alaska.

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to estimate the temperature of a location. The students are looking at the map below and have different ideas for estimating the temperature at the location marked X using the recorded temperatures of 31˚ and 59˚.

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We should use the number that is exactly halfway in between 31˚and 59˚. That’s the most exact way to estimate.We should mark a number line along the map with the estimate in each square going up the same amount between 31˚ and 59˚. That’d be the best estimate.
    KalinSage
    \r\n

    \r\n
    It doesn’t make sense to estimate the temperature at the X. We’d need to go there and measure the temperature. You can’t be confident unless you measure it.\r\n

    \r\n
    The X is closer to the 59˚ than to the 31˚, so let’s choose a number closer to 59˚. That’s the best we can do because we don’t know what’s happening with the weather in those places.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147795-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1658-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for estimating the temperature? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1649-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17135-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144900, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-2.json b/src/public/offline-activities/precipitating-change-v7/lesson-2.json new file mode 100644 index 00000000..26091999 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-2.json @@ -0,0 +1,2957 @@ +{ + "description": "

    How can weather from the past inform future weather predictions?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 2: Displaying Temperature Data ", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143620, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how temperature plays an important part in predicting weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147936-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1705-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143207, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever wondered why some temperature displays are in color (for instance, television weather reports), but a thermometer displays temperature in numbers? Or how weather apps can tell you what the temperature is wherever you are? In this lesson, you are going to learn what it means to display temperature for mainland Alaska.

    \r\n

    As  weather scientists (meteorologists), you will experience a virtual storm event in your classroom. As the virtual storm event occurs, you and your research team will collect and record temperature data. 

    \r\n

    As part of your lesson challenge, you will need to determine how to capture the data, how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introduction to Measuring Temperature", + "type": "Embeddable::Xhtml", + "ref_id": "147375-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Holder for Kevin's video", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1706-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    As  weather scientists (meteorologists), you will experience a virtual storm event.  As the virtual storm event occurs, you will learn how to use temperature data from weather stations to fill in the spaces between weather stations.

    \r\n

    As part of your lesson challenge, you will need to determine how to organize the data, and how the data should be displayed. Once you have developed a full picture of the virtual storm event, you will use this data to make a prediction of what the temperature will be at a later time.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "A Virtual Storm", + "type": "Embeddable::Xhtml", + "ref_id": "149269-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143208, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weather Station Data", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As scientists, it is important to record temperature data for analysis and to predict future weather events. 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Displaying Temperature", + "type": "Embeddable::Xhtml", + "ref_id": "149056-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Gather information from each weather station shown on the map below. Click Setup and Run. Then click each weather station to see the temperature observed for the communities across Alaska at the given time.

    \r\n

    The boxes on the grid are called cells and are identified with a letter and a number. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149057-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Measuring Temperature 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"55°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"56°F\",\"correct\":true},{\"id\":\"3\",\"content\":\"57°F\",\"correct\":false},{\"content\":\"58°F\",\"correct\":false,\"id\":\"c7e22d48-cf4e-4aeb-b907-53470ee4a442\"}],\"prompt\":\"

    What is the temperature in Noorvik (cell C-2) at 7am?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1708-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Measuring Temperature 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"59\",\"correct\":true},{\"id\":\"2\",\"content\":\"60\",\"correct\":false},{\"id\":\"3\",\"content\":\"61\",\"correct\":false},{\"content\":\"62\",\"correct\":false,\"id\":\"08635443-83af-4226-87b9-12531809a282\"}],\"prompt\":\"

    What is the temperature in St. Mary's (cell C-6) at 7am?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2232-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Measuring Temperature 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"54°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"55°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"56°F\",\"correct\":false},{\"content\":\"57°F\",\"correct\":true,\"id\":\"28d9c624-41f4-40c3-9ba6-a636c045bcfd\"}],\"prompt\":\"

    What is the temperature in Nome (cell B-4) at 7am?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1710-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Known and Unknown Temperature Measurements ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-1.html", + "type": "MwInteractive", + "ref_id": "97687-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143702, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "First Prediction", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Now you know how to gather information from one weather station at a time.  But what about all the places on the map that do not have a weather station?

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148032-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "content": "

    Look at the data in the map below. Try to predict what the temperature will be in the cells labeled with a question mark.

    ", + "is_callout": true, + "is_full_width": false, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148033-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-A1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell A-1. [blank-A1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1785-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-G3]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell G-3. [blank-G3]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1787-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-B7]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for cell B-7. [blank-B7]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1788-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"There are no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"There is no other data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It’s difficult to see any patterns with only 8 community’s weather station data.\",\"correct\":false},{\"content\":\"All of the above.\",\"correct\":true,\"id\":\"d0e3f559-c3b2-4ca2-92ee-3638f5a45188\"}],\"prompt\":\"

    Why is it difficult to make predictions for these locations?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1789-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-3-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1786-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143624, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Second Prediction", + "position": 5, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Look at the data in the map to the right.  Now, try to predict what the temperature will be in the cells with a question mark.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147941-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":3}],\"prompt\":\"

    Enter a prediction for Cell A-1. [blank-1]

    \",\"required\":false}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1715-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for Cell G-3. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1716-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for Cell B-7. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1717-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"A. It’s not easy, there are still no weather stations nearby these points.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B. There is a lot more data near these points to use as a reference.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. It’s easier to see any patterns when more data is given.\",\"correct\":false},{\"content\":\"Both B and C.\",\"correct\":true,\"id\":\"b2eba22d-1bbc-4f20-a1c8-c534e9b6085c\"},{\"content\":\"Both A and B.\",\"correct\":false,\"id\":\"283878d3-83dc-407a-a6ab-972efc498d7a\"}],\"prompt\":\"

    Why is it easier to predict the temperature more accurately on this data chart?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1718-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-8-unknowns2.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1755-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143209, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Introducing Interpolation", + "position": 6, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How do you think weather scientists (meteorologists) fill in data for missing locations? Scientists have many methods for constructing unknown data between known data points. This is called data interpolation.

    \r\n

    There are many different methods to interpolate data. Let’s look at the three interpolation methods used to make these maps.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Three Methods of Interpolation", + "type": "Embeddable::Xhtml", + "ref_id": "147378-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    \"\"

    \r\n

    For Square A, you may have guessed 54°F degrees or something very close to that. This is the simplest interpolation method. It is called Nearest Neighbor. With this method, you find the nearest weather station to the unknown point and assume it has a similar temperature.

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Nearest Neighbor Interpolation", + "type": "Embeddable::Xhtml", + "ref_id": "149272-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Mr. Neyhard's Introduction to Nearest Neighbor Interpolation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2236-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144865, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Linear Interpolation", + "position": 7, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    \"\"

    \r\n

    For Square B, you may have guessed between 38°F and 50°F, but closer to 50°F. Since this square is between two known temperatures, the unknown temperature is probably between 38°F and 50°F. To be even closer, you can think of it like a number line with temperature in each square increasing by four degrees.

    \r\n

    \"Number

    \r\n

    This method is called Linear Interpolation.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149270-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Linear Interpolation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2237-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144866, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Weighted Average Interpolation", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    For Square C, the square is between other squares at 30°F, 48°F, and 50°F. You could average the three numbers and get approximately 43°F. Or you could try to be even more precise. The unknown square is closer to the 50°F square than to the others. Therefore, you can estimate the temperature to be a little higher than the average (maybe 45°F or 46°F). This method is called Weighted Average Interpolation since we give more “weight” or influence to the closer stations.

    \r\n

    \"\"

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149271-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Weighted Average Interpolation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2238-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Comparing the Interpolation Methods", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because they were using different data, which would result in different results.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Yes, because different interpolation methods would result in different results.\",\"correct\":true},{\"id\":\"3\",\"content\":\"No, because if they used the same data they would get the same results.\",\"correct\":false},{\"content\":\"No, because if they used different interpolation methods they would get the same results.\",\"correct\":false,\"id\":\"7cc05e06-f819-43df-b946-7cbc0654788c\"}],\"prompt\":\"

    If two weather scientists were using the same data but different interpolation methods, could they get different results??

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2239-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143210, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Interpolating Maps", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Each of the following maps used the same station data but a different data interpolation method:

    \r\n

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147379-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":true,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 1 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1224-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 2 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1225-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Multiple Choice Question element", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"nearest neighbor\",\"correct\":false,\"choiceFeedback\":\"\"},{\"id\":\"2\",\"content\":\"weighted average\",\"correct\":true,\"choiceFeedback\":\"\"},{\"id\":\"3\",\"content\":\"linear\",\"correct\":false,\"choiceFeedback\":\"\"}],\"prompt\":\"

    Which interpolation method does Map 3 use?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1226-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": null, + "url_fragment": null, + "authored_state": null, + "is_hidden": true, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": null, + "type": "ManagedInteractive", + "ref_id": "1721-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143625, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Pattern Recognition", + "position": 10, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Look at the data in the map to the right.  Try to think of ways we could make this data easier for finding patterns.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Task", + "type": "Embeddable::Xhtml", + "ref_id": "147942-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\" Forget the map and put all of the numbers in order like a number line.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Take the average of each column and each row for that part of Alaska.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Color code the data for certain temperatures. For example from 45-50 degrees F would be the color blue.\",\"correct\":true},{\"content\":\"Add every number together so that we get one really large number to work with. \",\"correct\":false,\"id\":\"eef89f7a-ecfd-48fa-80f7-973d6862bdb1\"}],\"prompt\":\"

    What is one way we can make this weather data easier to understand for predicting weather across Alaska?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1727-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-all-temps-no-color.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1770-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143626, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Pattern Recognition (Cont.)", + "position": 11, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    On the map below, click Setup and Run. Then use the key to the right of the data map to drag and drop the color tiles over the correct temperature for that color’s temperature range. You can check your answers at any time.

    \r\n

    Hint: To make coloring easier, a colored cell can be used to \"paint\" other cells by dragging over them.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149058-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes, because all of the numbers would still be the same.\",\"correct\":false},{\"id\":\"2\",\"content\":\"No, because different students would put different temperatures for a color and that would make their map have a different color pattern. \",\"correct\":true}],\"prompt\":\"

    If each student in the class were to make their own color key, would we have all ended up with the same pattern at the end?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1728-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It gets warmer.\",\"correct\":true},{\"id\":\"2\",\"content\":\"It gets cooler.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It stays the same.\",\"correct\":false}],\"prompt\":\"

    What happens to the temperatures at 7am as you travel to the southeast across Alaska?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1729-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Yes\",\"correct\":false},{\"id\":\"2\",\"content\":\"No\",\"correct\":false}],\"prompt\":\"

    Was it as easy to see this warming pattern before we added the colors?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1730-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Explain your reason for the above answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1731-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Abstracting Temperature Ranges with Color ", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-2-colors-v3.html", + "type": "MwInteractive", + "ref_id": "97688-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + }, + { + "embeddable": { + "name": "Painting the Map", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2240-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143627, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Moving Weather Pattern", + "position": 12, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Wow!  You made it. You have predicted temperature for unknown locations using interpolation. Now you understand how temperature data can cover the map with a limited number of real measurements. 

    \r\n

    Now, you'll start looking for patterns of temperature changes over time.

    \r\n

    Below you will see three maps of temperature data each one at a different time during one day. Study the changes of temperature over time looking for patterns in the data. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147944-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"The colder temperatures are moving from the northwest towards the southeast.\",\"correct\":true},{\"id\":\"2\",\"content\":\"The temperatures in the southeast are getting much warmer.\",\"correct\":false},{\"id\":\"3\",\"content\":\"The temperatures in the southeast are getting much cooler.\",\"correct\":false}],\"prompt\":\"

    What is happening to the temperatures as time goes from 7am to 3pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1732-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Temperature Map at Three Times", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/AK-maps-at-3-times.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2090-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143628, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction", + "position": 13, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Weather scientists use patterns in known data over time to make predictions in the future.

    \r\n

    Now, you'll try predicting temperature for a future time. You will need to make a plan or strategy to make a good prediction.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147945-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    The map below shows temperature for three times separated by 4 hours.

    \r\n

    Your job will be to predict the temperature for 4 hours after the last measurement shown.

    \r\n

    Things to do and look for:

    \r\n
      \r\n
    • Use the slider to see temperatures from 7am to 3pm.
    • \r\n
    • Look for patterns of temperature changes over time.
    • \r\n
    • To see patterns, it may help to turn on and off the temperature data or the color key.
    • \r\n
    \r\n

    Remember: always start by clicking Setup and then Run.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149059-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Noorvik patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Noorvik11am]\",\"size\":5},{\"id\":\"[blank-Noorvik3pm]\",\"size\":5},{\"id\":\"[blank-Noorvik7am]\",\"size\":5}],\"prompt\":\"

    Enter the temperature in Noorvik (cell C-2) for 7am [blank-Noorvik7am], 11am [blank-Noorvik11am], and 3pm [blank-Noorvik3pm].

    \",\"hint\":\"\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2143-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Noorvik prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for the temperature in Noorvik at 7pm. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1736-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Nome patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-Nome7am]\",\"size\":5,\"matchTerm\":\"56\"},{\"id\":\"[blank-Nome11am]\",\"size\":5,\"matchTerm\":\"51\"},{\"id\":\"[blank-Nome3pm]\",\"size\":5,\"matchTerm\":\"46\"}],\"prompt\":\"

    Enter the temperature in Nome (cell B-4) at 7am [blank-Nome7am], 11am [blank-Nome11am], and 3pm [blank-Nome3pm].

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2144-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Nome prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"blanks\":[{\"id\":\"[blank-1]\",\"size\":5}],\"prompt\":\"

    Enter a prediction for the temperature in Nome at 7pm. [blank-1]

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "aace5b2f57919f26891d77ac3e14744470800215", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Fill In The Blank", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1738-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Prediction Strategy", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Describe your plan or strategy for making these predictions. For example, did you see a pattern in the temperatures that helped you come up with your prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2145-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Map with Three Observation Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-3-time-slider-v1.html", + "type": "MwInteractive", + "ref_id": "97689-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143629, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Future Weather Prediction (Cont.)", + "position": 14, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The model on this page is just the same as the one on the previous page except it includes the measurement for 7pm. Use the slider to compare your prediction to the measured data.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Checking Your Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147948-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"37°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"38°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"39°F\",\"correct\":true},{\"content\":\"40°F\",\"correct\":false,\"id\":\"aa2fd593-c08e-40e2-a0fd-8c1af86eba2d\"}],\"prompt\":\"

    What is the temperature in Noorvik (cell C-2) at 7pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1739-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"39°F\",\"correct\":false},{\"id\":\"2\",\"content\":\"40°F\",\"correct\":false},{\"id\":\"3\",\"content\":\"41°F\",\"correct\":false},{\"content\":\"42°F\",\"correct\":true,\"id\":\"bdf4731a-c1e0-4794-9f9a-ef03e07668b2\"}],\"prompt\":\"

    What is the temperature in Nome (cell B-4) at 7pm?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1741-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Does your prediction from the previous page match with the actual temperature for each city? If not, by how many degrees did they differ? Was your estimate high or low?

    \",\"hint\":\"

    Hint: Subtract the estimate from the actual.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1742-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Revised Patterns", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did your strategy for predicting the temperature from the previous page work? Explain your answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2146-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Temperature at Four Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson2-3-time-slider-v1a.html", + "type": "MwInteractive", + "ref_id": "97691-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": null, + "embeddable_display_mode": "stacked", + "id": 143211, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 15, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please check your knowledge of the information in this lesson with this short quiz.

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147380-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Making a prediction in blank spaces\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of talking to your neighbor about your weight while standing in a line\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Estimating and unknown value based on surrounding information\",\"correct\":true},{\"content\":\"d) Copying data from weather stations into blank spaces\",\"correct\":false,\"id\":\"fea96b2e-26aa-4fbc-8022-ee8cf6d0f9f1\"}],\"prompt\":\"

    What is the definition of the word “Interpolation”?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2003-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Weighted Average, Linear, Nearest Neighbor\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) Weighted Neighbor, Linear Average, Nearest Common Denominator\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Weighted Linear, Nearest average, Friendly Neighbor\",\"correct\":false},{\"content\":\"d) Alphabetical, Numerical, Linear\",\"correct\":false,\"id\":\"95f3d0b0-6ada-4426-aae5-f91a7cfd469e\"}],\"enableCheckAnswer\":true,\"hint\":\"\",\"prompt\":\"

    What are the three forms of Interpolation you learned in this lesson?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2009-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It makes the map more interesting to look at so that people might want to watch the weather on television.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It makes it easier to see where the warmer air and cooler air is on the map instead of trying to look at individual numbers.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) Because it’s fun to color things in.\",\"correct\":false}],\"enableCheckAnswer\":true,\"prompt\":\"

    Why does it help to color code temperatures on a weather map?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2010-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) From the southeast towards the northwest\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) From the East to the West\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) From the West to the East\",\"correct\":false},{\"content\":\"d) From the northwest towards the southeast\",\"correct\":true,\"id\":\"7fef3354-d757-4411-b431-288e9469301c\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    In the example that you have just worked with, which direction is the colder air moving?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2011-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144864, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 16, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": null, + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-3-post.json new file mode 100644 index 00000000..a92dec3d --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-3-post.json @@ -0,0 +1,188 @@ +{ + "description": "

    Displaying Data: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143592, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147898-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1688-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1689-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144903, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v7/lesson-3-pre.json new file mode 100644 index 00000000..0f9ee105 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-3-pre.json @@ -0,0 +1,188 @@ +{ + "description": "

    Displaying Data: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143591, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Which Estimates Should We Trust?

    \r\n

    Ms. Tevuk’s class is looking at a temperature map with five data points taken from weather station observations. All five weather station observations were made at the same time on the same day. The map also shows some temperatures that were estimated using the weather station observation data (estimated temperatures are in parentheses).

    \r\n

    \r\n

    Ms. Tevuk asks the students which of the estimated temperatures they are LEAST CERTAIN (MOST UNSURE) about.

    \r\n

    Here are the students’ ideas. (Each student’s estimated temperature choice is in bold to make it easier to find.)

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I’m least certain about the estimate of 53˚ because it’s furthest outside of the temperatures that were actually measured at a weather station.

    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 43˚ because it’s far away from any temperatures measured at a weather station. 

    \r\n

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 39˚ because there aren’t any other estimated temperatures near the 39˚ estimate.

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I’m least certain about the estimate of 37˚ because weather usually moves from west to east, so I’m unsure about estimates on the west side of the map.

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147895-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"9d08acd6-bc42-4b6d-9c82-6a37abc8cd3e\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1687-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the estimated temperature you picked is the one we should be least certain (most unsure) about? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1686-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144902, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-3.json b/src/public/offline-activities/precipitating-change-v7/lesson-3.json new file mode 100644 index 00000000..7e1d6b5a --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-3.json @@ -0,0 +1,1019 @@ +{ + "description": "

    Displaying Data: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 3: Displaying Precipitation & Air Moisture Data", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143621, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application with Jackie Purcell", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how air moisture plays an important part in forming precipitation.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148013-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1765-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143588, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever been caught without your parka or boots when you needed them? Predicting rain or snow is a special challenge for weather scientists. Watch the video below to learn more about forecasting the weather in Alaska.

    \r\n

    As weather scientists, you will continue to explore weather maps. Now, you will add two additional pieces of information to each square: precipitation (a symbol) and air moisture content (a number). The larger this number is, the more moisture is contained in the air.

    \r\n

     

    \r\n

    Precipitation symbol = raindrops  \"\" 

    \r\n

     

    \r\n

    \"\"

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Precipitation and Air Moisture ", + "type": "Embeddable::Xhtml", + "ref_id": "147890-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Introduction to Precipitation Model", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2241-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143589, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "

    Would you change what you selected to wear? Yes or No

    \n

    If yes, what would you change and why?

    ", + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The map below shows the virtual storm that you have seen before. With the slider, you can see the storm at three times during one day. This map adds humidity and precipitation data to the temperature data. Combining related data is called data aggregation.

    \r\n

    Look at the temperature and humidity data that is close to where the precipitation falls. Watch how the precipitation moves through the three times. Does the other data move too? Can you see a pattern? 

    \r\n

    Precipitation is shown with three raindrops:  \"\" 

    \r\n

    The air moisture and temperature data are shown this way:\"\" 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Mapping Precipitation and Air Moisture with Temperature in the Virtual Storm", + "type": "Embeddable::Xhtml", + "ref_id": "147891-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Location of Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":true,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"G-4\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"id\":\"2\",\"content\":\"G-5\",\"correct\":false,\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"id\":\"3\",\"content\":\"D-6\",\"correct\":true,\"choiceFeedback\":\"Correct!\"},{\"content\":\"D-2\",\"correct\":false,\"id\":\"aff2b1f4-8271-4aaa-8338-fa504931c966\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"A-4\",\"correct\":false,\"id\":\"64b333f5-f8be-4b50-af1f-080692afa946\",\"choiceFeedback\":\"Incorrect. Please check that the map is set to 3pm can carefully count the grid cells. Try again!\"},{\"content\":\"B-7\",\"correct\":true,\"id\":\"fc847408-296f-44b2-8aed-7e305f86ea70\",\"choiceFeedback\":\"Correct!\"}],\"prompt\":\"

    Set the map to show the data at 3 pm. Check all cells listed below that have precipitation.

    \",\"enableCheckAnswer\":true,\"customFeedback\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2163-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Guiding Question #1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It is raining on the warmest cell on the map.

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2164-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Guiding Question #2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It is raining on the coldest cell on the map.

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2165-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Data Relationships", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How would you describe the relationship between temperature and precipitation?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2166-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    On the map below, click Setup and Run, then use the slider to see the movement of the rain over three times of the day. 

    \r\n

    Look for patterns around where the rain falls. To see patterns, it may help to turn on or off the options of data, colors, and rain. For example, turn off show-data? and turn on show-colors? and show-rain?. Is it easier to see how temperature and precipitation move over time?

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149127-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Virtual Storm with Rain at Three Times", + "native_height": 435, + "native_width": 576, + "no_snapshots": true, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97738-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144724, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Data Aggregation, Continued", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Guiding Question #3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It rains in cells that have an air moisture of 5 or below.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2171-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Guiding Question #4", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"True\",\"correct\":false},{\"id\":\"2\",\"content\":\"False\",\"correct\":true}],\"prompt\":\"

    It rains in cells that have an air moisture of 10.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2172-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Conditions for Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How would you describe the relationship between air moisture AND temperature AND precipitation? There are 3 parts to this answer.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2173-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    The map with temperature, air moisture, and precipitation appears again below. Look carefully for patterns and relationships between all three types of data: temperature, air moisture, and where precipitation occurs. 

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149129-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson3-1.v1.html", + "type": "MwInteractive", + "ref_id": "97739-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143590, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Predicting Rain - First Try", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": "

    Your teacher will lead a class discussion.

    \n

    Possible discussion questions:

    \n

    • What was your prediction for the weather in Boston on November 7th at 7am?
    • What was your strategy that helped you develop your prediction?

    ", + "sidebar_title": "Class Discussion", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    The weather map of the virtual storm below shows temperature and air moisture data at 7pm. Use the relationships you just figured out between air moisture, temperature, and precipitation to try and predict where it will rain at 7pm.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "What Makes It Rain?", + "type": "Embeddable::Xhtml", + "ref_id": "147893-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    List the coordinates of the cells in which you think it will rain. (Example: B-1, F-5...) Explain why you think it will rain in those cells. 

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2169-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Virtual Storm at 7 pm - No Precipitation Shown", + "url_fragment": null, + "authored_state": "{\"version\":1,\"scaling\":\"fitWidth\",\"url\":\"https://project-resources.concord.org/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "cbe15db2fbb4e78c7ad98f2b86ef9a9b99a2636f", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/image/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Image Interactive", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2167-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143695, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148890-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Any product of the evaporation of water vapor up into the atmosphere such as rain snow, sleet, or hail.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The act of a liquid turning into a solid.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The act of a solid turning into a gas.\",\"correct\":false},{\"content\":\"d) Any product of the condensation of water vapor in the atmosphere that falls to the ground due to gravity such as rain, snow, sleet, or hail.\",\"correct\":true,\"id\":\"75d5130a-6c7b-45f6-80cd-22d7b2eba0e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “precipitation”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2017-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) How much rain is falling to the ground\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Amount or content of water in the air\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) The temperature at which rain will start to fall\",\"correct\":false},{\"content\":\"d) The ratio of the temperature and the wind direction\",\"correct\":false,\"id\":\"65903405-cdf8-4532-a239-e913395a8b36\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of “air moisture”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2018-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) It will rain when the air is very dry\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) It will rain when the air is very wet\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) It will rain when the air moisture is between 7 and 9\",\"correct\":true},{\"content\":\"d) It will rain when the air moisture is between 5 and 7 \",\"correct\":false,\"id\":\"019a4ccd-da14-4e5f-9692-fe79bddc7c0f\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the relationship between air moisture and precipitation?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2021-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144723, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 7, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-4-post.json new file mode 100644 index 00000000..412b845b --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-4-post.json @@ -0,0 +1,188 @@ +{ + "description": "

    Building Rules: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143598, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147904-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1692-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1693-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144905, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v7/lesson-4-pre.json new file mode 100644 index 00000000..eb51ae53 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-4-pre.json @@ -0,0 +1,188 @@ +{ + "description": "

    Building Rules: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143597, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    What Are the Rules for Fronts and Precipitation?

    \r\n

    Ms. Tevuk’s students need to write a rule for their computer model to predict areas of precipitation on a map showing weather fronts. They have different ideas for what the rule should be.

    \r\n

    Here are the students’ ideas: The rule should be that precipitation happens…

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    with a warm front coming in because warm air moves in and mixes with cold air, which leads to precipitation. You don’t get precipitation with a cold front because cold air is dry.with both cold fronts and warm fronts coming in because in both cases warm air and cold air meet, leading to condensation and precipitation.
    KalinSage
    \r\n

    \r\n
    with a cold front coming in because it’s usually rainy or snowy when it’s cold out. You don’t get precipitation with a warm front because it’s warm when the sun is shining.\r\n

    \r\n
    after a cold front has passed by because the cold air the front leaves behind is humid, which leads to precipitation.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147903-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"6bd7ac18-6b07-4996-9e4b-199430b43e0c\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1690-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the rule you picked is the best one for predicting precipitation? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1691-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144904, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-4.json b/src/public/offline-activities/precipitating-change-v7/lesson-4.json new file mode 100644 index 00000000..54ac01d3 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-4.json @@ -0,0 +1,809 @@ +{ + "description": "

    Building Rules: Where does it rain?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 4: Building Rules", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143689, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how making sense of the weather data helps in predicting weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148014-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1766-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143593, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As weather scientists, your job is not only to collect and organize data, but also to make sense of the data you collected. One way to make sense of the data is to develop a rule, generalized statements of patterns you see again and again.

    \n

    Example: This rule has two parts that must happen to have a certain result. If it was a [ very nice summer ] and if it is [ August ], then there will be [ lots of berries to pick ]. 

    \n

    \"\"

    \n

    Think about developing a similar statement that could be used to determine where it will rain.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147899-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Introduction to Computational Rules", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2243-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143595, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Rule Abstraction (cont.)", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    As weather scientists, you have been identifying patterns, specifically relationships between temperature and air moisture values, to determine where it will rain. Analyzing and collecting data by hand can be a lot of work and take a lot of time. Weather scientists use models that can collect and analyze the data for them.

    \n

    To make computational models, we need to create rules that are very specific for a computer to run. In this activity, you are going to refine the rule statement you made by testing it within a Virtual Model.

    \n

    You can practice making more specific rule statements by answering the questions below and testing them using the model. 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147901-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Using the following rule, which pair of grid squares (A, B, or C) will produce rain? 

    \r\n

    \"\"
    IF the upper square (the northwest square)  is colder than the lower square by [ 5 or more degrees ] AND IF the moisture of the lower square is [ 7 or more ] THEN it rains in the lower square.

    \r\n

     

    \r\n

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "If / Then Rule", + "type": "Embeddable::Xhtml", + "ref_id": "149130-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "If / Then Rule 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":true},{\"id\":\"3\",\"content\":\"C.\",\"correct\":false}],\"prompt\":\"

    Which square will have rain according to this rule?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2174-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "If / Then Rule 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A. \",\"correct\":true},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C. \",\"correct\":false}],\"prompt\":\"

    Which square will have rain according to the following rule:

    \\n

    "IF the upper square (the northwest square) is colder than the lower square by [2 degrees] AND IF the moisture of the lower square is [8 or above] THEN it rains in the lower square."

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2175-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "If / Then Rule 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"A.\",\"correct\":false},{\"id\":\"2\",\"content\":\"B.\",\"correct\":false},{\"id\":\"3\",\"content\":\"C.\",\"correct\":true}],\"prompt\":\"

    Which square will have rain according to the following rule:

    \\n

    "If the upper square (the northwest square) is colder than the lower square by [5 degrees] AND IF the moisture of the lower square is [6] THEN it rains in the lower square."

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2176-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143596, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Finding the Rule with a Model ", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Rules Model Explanation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2242-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Best Rule", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What is the best and final rule to fit where it actually rains in our virtual storm? (Hint: write the sentence in the model, "If the square to the northwest is colder by at least _____ AND IF the air moisture is at least _____ THEN it rains.")

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2177-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "How Well Does the Rule Work", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did your rule fit the actual precipitation 100% for all the different times? Please explain why or why not.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2178-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    Press Setup and Run. Then, use the sliders to refine your precipitation rule until you have found the best fit between the actual precipitation shown in light blue and the precipitation predicted by the rule in dark blue. Test your rule by clicking Show Rain with These Rules.

    \r\n

    Try your rule with all of the data sets.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "TASK", + "type": "Embeddable::Xhtml", + "ref_id": "149131-Embeddable::Xhtml" + }, + "section": "interactive_box" + }, + { + "embeddable": { + "aspect_ratio_method": "MANUAL", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "", + "native_height": 800, + "native_width": 800, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/precip-rule-ak-v5.html", + "type": "MwInteractive", + "ref_id": "96960-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143694, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148891-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Simplifying data to make it easier to interpret and find patterns\",\"correct\":true},{\"id\":\"2\",\"content\":\"b) A type of art that makes it difficult to see what the artist is trying to show\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) A piece of something\",\"correct\":false},{\"content\":\"d) When you remove a sliver from your finger\",\"correct\":false,\"id\":\"3a59d5ea-7526-46e7-b468-ff8612b9852d\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “abstraction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2022-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) If the square to the north-west is colder by at least 3 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) If the square to the north-west is colder by at least 5 and if the moisture is at least 9 then it will rain.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) If the square to the north-west is colder by at least 7 and if the moisture is at least 5 then it will rain.\",\"correct\":false},{\"content\":\"d) If the square to the north-west is colder by at least 5 and if the moisture is at least 7 then it will rain.\",\"correct\":true,\"id\":\"d2ba7a47-fe6d-4a57-a07a-4aa83f0af8e8\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the best rule to answer the question, “Where will it rain?”

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2023-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) To keep children following the right behaviors\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) To see the patterns in data that would allow a person to make a more accurate prediction\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) To explain the historical trends that occur in an area\",\"correct\":false},{\"content\":\"d) To measure the amount of rain that has fallen after a storm\",\"correct\":false,\"id\":\"6f5b2205-979f-4ca2-a12d-6389c5bf10a0\"}],\"prompt\":\"

    What is the purpose of a rule for predicting weather?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2024-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144867, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 6, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-5-post.json new file mode 100644 index 00000000..1856a354 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-5-post.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Post-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143619, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147932-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1702-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1703-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17148-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144907, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v7/lesson-5-pre.json new file mode 100644 index 00000000..d6435afa --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-5-pre.json @@ -0,0 +1,231 @@ +{ + "description": "", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Pre-thoughts - How should we represent wind direction?", + "notes": "", + "project_id": 25, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143617, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Should We Represent Wind Direction?

    \r\n

    The word represent means to let one thing stand for another. For example, some people use the symbol of a

    \r\n

    heart [] to represent (or stand for) love.  

    \r\n

    Four students in Ms. Tevuk’s class are figuring out how to represent wind direction both (1) in their computer model that does calculations to predict the weather and (2) on a map the computer model produces to show the weather prediction. The students have different ideas about how to represent wind direction for these two purposes.

    \r\n

    Here are some different options Ms. Tevuk’s students are considering for representing wind direction.

    \r\n

    • Wind direction represented with degree number (between 0 and 360) based on the compass 

    \r\n

    \r\n

    • Wind direction represented with letters based on the compass 

    \r\n

    \r\n

    • Wind direction represented with arrows               

    \r\n

    \"\"

    \r\n

    • Wind direction represented with different colors

    \r\n

    \"\"

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    \r\n

    I think we should use the letters for the computer model because there are only 8 options, so the computer will have simple information to calculate with and it won’t get stuck computing. We can use the arrows on the map because that way you can see which way the wind is going.

    \r\n

    \r\n

    \"\"

    \r\n
    \r\n

    Let’s use number of degrees on the computer model because computers do calculations with numbers. I think we should use arrows on the map because they make the pattern of wind direction easy to see.

    \r\n

    \r\n

    \"\"

    \r\n
    KalinSage
    \r\n

    \r\n
    \r\n

    I think we should use number of degrees for both the computer model and the map because computers do calculations with numbers and our map should show what the computer calculated.

    \r\n

    \r\n

    \r\n
    \r\n

    \r\n
    \r\n

    I think we should use colors for both the computer model and the map. Colors are good for the map because it’s easy to see patterns in different colors. Then it helps to have your computer model and map match, so it makes sense to use colors for the computer model too.

    \r\n

    \"\"

    \r\n

    \"\"

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147929-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"48ed2c41-2f41-4d5e-b70c-89cc42e2eb72\"}],\"prompt\":\"

    Which student’s idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1698-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best for representing wind direction in the computer model and on the map? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1699-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "custom": false, + "enable_check_answer": false, + "give_prediction_feedback": false, + "hint": "", + "is_full_width": true, + "is_hidden": false, + "is_prediction": false, + "layout": "vertical", + "multi_answer": false, + "name": "Multiple Choice Question element", + "prediction_feedback": "", + "prompt": "

    Which student’s idea do you agree with the most?

    ", + "show_as_menu": false, + "show_in_featured_question_report": true, + "choices": [ + { + "choice": "Alex", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Delana", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Kalin", + "is_correct": false, + "prompt": "" + }, + { + "choice": "Sage", + "is_correct": false, + "prompt": "" + } + ], + "type": "Embeddable::MultipleChoice", + "ref_id": "17146-Embeddable::MultipleChoice" + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144906, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-5.json b/src/public/offline-activities/precipitating-change-v7/lesson-5.json new file mode 100644 index 00000000..5f31fffa --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-5.json @@ -0,0 +1,1453 @@ +{ + "description": "

    Identifying Air Masses: Where does the air come from?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 5: Identifying Air Masses", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143690, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how wind direction impacts different air masses.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148015-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1767-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143599, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Have you ever noticed that the wind can come from one direction and then a few hours later a different direction? As weather scientists, you will explore a new component of the weather - wind! The direction of the wind can give you clues about what weather to expect. And when the wind changes its direction drastically, interesting weather events can happen.

    \r\n


    In this lesson you will explore how air masses interact by watching a wind table. You will also revisit weather station data and radar maps you used in Lesson 1 with some additions: wind data and five more weather stations. 

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Introducing Wind", + "type": "Embeddable::Xhtml", + "ref_id": "147905-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143600, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass?", + "position": 3, + "show_header": true, + "show_info_assessment": false, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    In this activity, you will see how wind blowing from two directions interacts on a Wind Table. Please watch the video below for a demonstration on how a Wind Table maps the movement of air on a gird representing a region of Alaska.

    \r\n

    Wind Table

    \r\n

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Wind Table", + "type": "Embeddable::Xhtml", + "ref_id": "147906-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Mr. Nyhard's Wind Table Demonstration", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2188-ManagedInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144777, + "is_completion": false, + "is_hidden": false, + "layout": "l-6040", + "name": "Defining Wind Direction", + "position": 4, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Wind direction is often measured with a weather vane or an air sock. When the wind blows, the weather vane rotates and lines up with the path that the air is flowing. So, wind direction is determined by what direction the wind is coming from. It is measured in degrees (°).

    \r\n

    \"\"

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Measuring Wind Direction", + "type": "Embeddable::Xhtml", + "ref_id": "149273-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143601, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Wind Direction and Air Masses", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2246-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    The arrows on the model below represent the wind direction at each location.  Your challenge using this model is to identify the two air masses and mark a line of cells that splits the map into two parts: one section with the wind coming from the same direction and the other section with the wind coming from a different direction. 

    \r\n

    Remember to click Startup and Run. Then,

    \r\n
      \r\n
    • Use gray color to mark where the front is located
    • \r\n
    • Use blue to mark air mass 1
    • \r\n
    • Use red color to mark air mass 2
    • \r\n
    \r\n

    You can check your work at any time.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Identifying Air Masses", + "type": "Embeddable::Xhtml", + "ref_id": "147907-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why did you draw the line of the front where you did?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2244-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Identifying Air Masses and Fronts", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson5-air-masses.v4-new.html", + "type": "MwInteractive", + "ref_id": "97692-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143602, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "What is an air mass? (cont.)", + "position": 6, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Now that you have identified the air masses, lets discuss what an air mass actually is.

    \r\n

    An air mass is a body of air with similar temperature and air moisture content.

    \r\n

    Identifying air masses and their properties is an important part of the work of atmospheric scientists. On the map you may have noticed a temperature number at the top of the square and an air moisture content number at the bottom of the square.

    \r\n

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Air Mass Definition ", + "type": "Embeddable::Xhtml", + "ref_id": "147908-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Develop a way to identify the two air masses using temperature and air moisture content values provided on the map you just colored.

    \r\n

    \"Air

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Identifying Air Masses", + "type": "Embeddable::Xhtml", + "ref_id": "149276-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 1", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"correct\":true,\"content\":\"Colder\"},{\"id\":\"2\",\"content\":\"Warmer\",\"correct\":false}],\"prompt\":\"

    Temperature: Compare Air Mass #1 to Air Mass #2.

    \\n

    Air Mass 1 is:

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2248-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 2", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"Warmer\",\"correct\":true},{\"id\":\"2\",\"content\":\"Colder\",\"correct\":false}],\"prompt\":\"

    Temperature: Compare Air Mass #2 to Air Mass #1.\\r

    \\n

    \\rAir Mass #2 over land is:

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2249-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 3", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"More moist\",\"correct\":true},{\"id\":\"2\",\"content\":\"More dry\",\"correct\":false}],\"prompt\":\"

    Air moisture: Compare Air Mass #1 to Air Mass #2.
    Air Mass #1 is:

    \",\"hint\":\"\",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2250-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Air Masses Properties 4", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"More moist\",\"correct\":false},{\"id\":\"2\",\"content\":\"More dry\",\"correct\":true}],\"prompt\":\"

    Air moisture: Compare Air Mass #2 to Air Mass #1.

    \\n

    Air Mass #2 is:

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2256-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143603, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding", + "position": 7, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Remember, the region between two different air masses is called a front. Weather scientists are very interested in fronts because they are where the weather can change. Sometimes this change is very sudden.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Activity at the Fronts", + "type": "Embeddable::Xhtml", + "ref_id": "147910-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Compare the 7 pm interpolated map and the 7 pm radar map.

    \r\n

    \"\"

    \r\n

    Comparing these maps think about how air masses affect where it rains.

    \r\n

     

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Comparing Weather Data", + "type": "Embeddable::Xhtml", + "ref_id": "147911-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Thinking about Where Rain Will Occur", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"It rains across the front making a cross shape.\",\"correct\":false},{\"id\":\"2\",\"content\":\"It rains away from the front.\",\"correct\":false},{\"id\":\"3\",\"content\":\"It rains on the warm side of the front.\",\"correct\":true},{\"content\":\"It rains on the cold side of the front.\",\"correct\":false,\"id\":\"5a069223-5be8-4ee2-9006-b0e79fcb950a\"}],\"prompt\":\"

    How does a front affect where it rains?

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2257-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    The weather map below shows wind direction, temperature, and air moisture, but not precipitation. Look at this data and think about where raining would most likely occur.

    \r\n

    \r\n

    Alaska Stations: Interpolated at 7 am

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Applying Your Knowledge", + "type": "Embeddable::Xhtml", + "ref_id": "147912-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Making a Prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Use what you have just learned about fronts and where it rains along fronts to predict where it will rain at 7am based on this map. List the coordinate cell where you think it will rain (for example, B-7, D-5, etc.). Describe what makes you think it will rain in those locations.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2258-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143604, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Two air masses colliding (cont.)", + "position": 8, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    On the previous page, you made a prediction for where it could rain at 7 am. Compare your prediction to the radar image for 7 am below. The radar image shows where it was actually raining at 7 am.

    \r\n

    \r\n

    Radar Image for 7 am

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147913-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Comparing Your Prediction to the Data", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How accurate was your prediction? Explain.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2262-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143605, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Exploring a New Weather Model", + "position": 9, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    In this unit, you have been examining a particular Virtual Storm. In Lesson 4 you discovered a rule for the model of that storm that matched the conditions that produced precipitation. Now that we know about fronts, we could state the rule as:

    \r\n

    If the front to the northwest is colder than 5 degrees than the front to the south, and the air moisture of the front to the south is 7 or above then it will rain in the front to the south.

    \r\n

    The model below allows you to change the temperature and air moisture content of the wind that enteres the model. Explore this model to see if the rule for rain (above) is obeyed. Also, try to discover if there may be other rules that produces rain and what they might be. Remember to click Setup and Run.

    \r\n
      \r\n
    • The arrowheads show the incoming wind.
    • \r\n
    • The temperature and moisture content of the wind are set by the sliders on the South and West sides.
    • \r\n
    • When precipitation occurs, it is shown as green circles. The larger the circle, the heavier the rain.
    • \r\n
    \r\n

    Read the questions below to help focus your exploration of the model. Hint: start by identifying the fronts. Use city names to describe where fronts and rain occur.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Rules for the New Model", + "type": "Embeddable::Xhtml", + "ref_id": "147914-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Was the rule obeyed?", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Was the rule obeyed? That is, did you find settings for the temperature and moisture on the West and South that produce rain along a front matching the rule above? Please describe.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2265-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Conditions for Precipitation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    In this model, where are the fronts? What rules did you find that produce rain?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2266-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": "", + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Lesson 5:Air Mass Model", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/lesson5-sliders.html\r\n", + "type": "MwInteractive", + "ref_id": "96961-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144874, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 10, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Heather Mase, bush pilot, in Naknek, Alaska. She dicusses the importance and use of wind direction data to help her plan her flights.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "149277-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Perspective of a Bush Pilot", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4\",\"credit\":\"Heather Mase, Pilot, King Flying Service, Naknek Alaska 2019. Filmed by Sharon Thompson, Steelbird Productions, and edited by Kathryn Costello. This material is based upon work supported by the National Science Foundation\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2254-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143693, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Quiz", + "position": 11, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Please answer this quiz of things learned in this lesson.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148892-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Can be determined using tools such as a weather vane, flag, or windsock\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Described by using the direction that the wind came from\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Described by using the direction that the wind is going to\",\"correct\":false},{\"content\":\"d) Only A and B\",\"correct\":true,\"id\":\"de903f5f-840c-40c0-91db-73c33017a515\"},{\"content\":\"e) Only A and C\",\"correct\":false,\"id\":\"3852ac5d-832a-4558-a526-1729c4a02a20\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of “wind direction”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2027-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A body of air with similar temperatures and air moisture content\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Where the weather begins\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) An air mass that is very dry with calm weather.\",\"correct\":false},{\"content\":\"d) The area between two colliding air masses of different temperatures that result in a change in weather.\",\"correct\":true,\"id\":\"9c06c9a6-3906-4afb-bdb1-066b8d22ad43\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is the definition of the word “front”?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2029-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) A measurement of the weight of the air.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) A body of air with similar temperatures and air moisture content.\",\"correct\":true},{\"id\":\"3\",\"content\":\"c) A piece of equipment that shows the direction the air is moving.\",\"correct\":false},{\"content\":\"d) The line between two fronts where the wind changes direction.\",\"correct\":false,\"id\":\"adf51964-b089-4d02-92c4-8ba5ddd87113\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    What is an air mass?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2030-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) Compass rose and degree directions always tell where the wind is coming from.\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) Arrows always point where the wind is going.\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) Compass rose and degree directions always tell where the wind is going.\",\"correct\":false},{\"content\":\"d) Arrows always point where the wind is coming from.\",\"correct\":false,\"id\":\"4dcfa49c-9d65-44c8-ba59-30ad0232f898\"},{\"content\":\"e) Both A and B\",\"correct\":true,\"id\":\"cf4fa7b4-5048-40c0-acbe-478fffa79243\"},{\"content\":\"f) Both C and D\",\"correct\":false,\"id\":\"1dcfe310-0d3d-4879-bf47-0158c1310a6a\"},{\"content\":\"g) Both B and C\",\"correct\":false,\"id\":\"7ddeb9e9-b680-4974-8ed5-fc7aaeea1846\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do meteorologists talk about the wind direction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2031-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"a) The colder drier air mass\",\"correct\":false},{\"id\":\"2\",\"content\":\"b) The colder wetter air mass\",\"correct\":false},{\"id\":\"3\",\"content\":\"c) The warmer wetter air mass\",\"correct\":true},{\"content\":\"d) The warmer drier air mass\",\"correct\":false,\"id\":\"cfed3538-0de4-4b54-8414-57afc6d5a849\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    When a front forms with the right conditions for precipitation, which air mass does the precipitation fall in?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2032-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144868, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 12, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-6-post.json new file mode 100644 index 00000000..98c7e5db --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-6-post.json @@ -0,0 +1,188 @@ +{ + "description": "

    Modeling Fronts: How do fronts move?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Post-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143611, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147922-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}],\"prompt\":\"

    Which student's idea do you agree with the most?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1696-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1697-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144909, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v7/lesson-6-pre.json new file mode 100644 index 00000000..fe72a3ba --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-6-pre.json @@ -0,0 +1,188 @@ +{ + "description": "

    Modeling Fronts: How do fronts move?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Pre-thoughts - What Do You Think?", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143610, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Page 1", + "position": 1, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    How Do We Make An Accurate Model to Predict Weather?

    \r\n

    Ms. Tevuk’s students wrote rules for their computer model to predict weather in Alaska. Then they tested their model to see how well it worked. They found their predictions were only right about half the time. The students had different ideas for improving the model.

    \r\n

    Here are the students’ ideas:

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    AlexDelana
    We need to run the model longer. The longer you run a computer model the better the prediction will be.There’s no way to make a computer model that can predict the weather. Computer models aren’t the real world, so they can’t predict what will happen in the real world.
    KalinSage
    \r\n

    \r\n
    We should keep working on the rules based on the science of weather prediction. If we get the science right, the model will be accurate.\r\n

    \r\n
    We should keep working on the rules and testing the model predictions using Alaska weather data. That way we’ll know the model works.
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147921-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Alex\",\"correct\":false},{\"id\":\"2\",\"content\":\"Delana\",\"correct\":false},{\"id\":\"3\",\"content\":\"Kalin\",\"correct\":false},{\"content\":\"Sage\",\"correct\":false,\"id\":\"89f32589-2b6d-47d3-8159-62a30d7f2a92\"}]}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1694-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Why do you think the choice you picked is the best idea for improving the model? Please explain your reasoning.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1695-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144908, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 2, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-6.json b/src/public/offline-activities/precipitating-change-v7/lesson-6.json new file mode 100644 index 00000000..e29f5660 --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-6.json @@ -0,0 +1,690 @@ +{ + "description": "

    Modeling Fronts: How do fronts move?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 6: Modeling Fronts", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143691, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how moving fronts impact the weather.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148016-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson6_88_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1768-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143607, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Where is the front going and how fast is the front moving?

    \r\n

    Throughout this unit you have been exploring different aspects of regional weather data. There is one more piece of information we need to figure out before you can make your final prediction for the unit challenge:

    \r\n

    What will the weather be in Anchorage 24 hours from now?

    \r\n

    \r\n

     

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "How do fronts move?", + "type": "Embeddable::Xhtml", + "ref_id": "147917-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143608, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Where is the front going?", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Press Setup and Run on the model below. Watch as the arrows trace their path for 11am. Then do the same for 9pm and 7am. Take note of any differences you see between the times.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "Where is the front going?", + "type": "Embeddable::Xhtml", + "ref_id": "147918-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Direction the Front Is Moving", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"horizontal\",\"choices\":[{\"id\":\"1\",\"content\":\"North\",\"correct\":false},{\"id\":\"2\",\"content\":\"East\",\"correct\":false},{\"id\":\"3\",\"content\":\"South\",\"correct\":true},{\"content\":\"West\",\"correct\":false,\"id\":\"77337e25-5dfa-4c34-bfbd-04227e1ea9bb\"}],\"prompt\":\"

    Ultimately, in what direction is the front moving? (Hint: not the wind direction.)

    \",\"enableCheckAnswer\":true}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2183-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Describing Front Direction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"Because at 11am the red lines are moving to the north so the front is moving north.\",\"correct\":false},{\"id\":\"2\",\"content\":\"Because at 7am the blue lines are moving to the East so the front is moving east.\",\"correct\":false},{\"id\":\"3\",\"content\":\"Because at 11 am the blue and red lines collide near Norvik and go closer to Utqiagvik, but at 7am they collide closer to Fairbanks. This means the front is moving South.\",\"correct\":true},{\"content\":\"Because at 7am almost all of the wind is coming from the west so the front is moving to the west.\",\"correct\":false,\"id\":\"f5c297cc-ea8a-4837-ac4b-bc3c174ee66f\"}],\"enableCheckAnswer\":true,\"prompt\":\"

    How do you know the front is moving in that direction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2184-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Front Direction Model Explanation", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Front%20Direction%20Model%20Explanation.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2278-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Fronts Moving in Time", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/Lesson6-1-v1.html", + "type": "MwInteractive", + "ref_id": "97811-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143609, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "How fast is the front moving?", + "position": 4, + "show_header": true, + "show_info_assessment": true, + "show_interactive": true, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "Speed of the Front Model", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Speed%20Front%20Model%20Explanation.mp4\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2279-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "content": "

    Now that you have figured out which way the front is going, you may have noticed it is heading toward Anchorage! So you may be wondering when it’s going to pass through there. Where the front is at the time of the Alaskan Native Youth Olympics (NYO Games) will greatly affect the weather.

    \r\n

    To best predict where the front will be in 24 hours, you will need to figure out how fast it is moving. This is a calculation of speed (distance divided by time). Once you know both speed and direction of the front, your weather analysis will help you answer the question, “Will it be raining in Anchorage?”

    \r\n

    The model below allows you to mark the fronts at three times and measure the distance between them. With the time and distance data you can calculate the approximate speed of the front and then calculate where it will be 24 hours after the last measurement. To do this you can use the tools built into this model.

    \r\n

    First, mark the fronts.

    \r\n

    • Click Setup and Run and see where the front forms. (Once the front has formed click Run again to turn it off.) See Mr. Neyhard's video for help.
    • Click Draw Line and use the mouse to mark the front. (Be sure the mouse stays inside the map while dragging.)  
    • You can always start over by clicking Clear Last Line or Clear All Lines
    • Repeat this for 9pm and 7am. You can turn Run off or click Setup again if the map gets too dark.

    \r\n

    Second, measure the distance between fronts.

    \r\n

    • Turn off Run and click show-distance?. Now, lines that you draw will show their length in kilometers. (You can click Setup to see the map more clearly.)
    • Draw a line from one front to the other to measure the distance between them. Start near Fairbanks because the front there will be close to where it will cross Anchorage. Do this for the distance between the first and second front and the second and third front.

    \r\n

    Third, calculate the speed of the front. See Mr. Neyhard's video for help.

    \r\n

    • Each set of data is separated by 10 hours.  
    • Divide the distance between the top and middle front by 10 to get the speed in kilometers per hour.
    • Divide the distance between the middle and bottom front by 10 to get the speed in kilometers per hour.
    • Average the two speeds by adding them together and then divide by 2.

    \r\n

    Finally, calculate the location of the front 24 hours later.

    \r\n

    • Mutliply the average speed by 24 hours to predict where it will be on April 23 at 7am.  
    • Will the front be on top of Anchorage? Should the NYO Games go on as planned?

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "Calculating the Speed of the Front and Making a Prediction", + "type": "Embeddable::Xhtml", + "ref_id": "147919-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Measured distances", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    You have marked three fronts. Please answer the following questions:

    \\n

    (1) What distance did you measure between the fronts at April 21, 11am and April 21, 9pm?

    \\n

    (2) What distance did you measure between the fronts at April 21, 9pm and April 22, 7am?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2217-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Speed of the front", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What is the average speed of the front in kilometers per hour? Please show your work.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2218-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "The main question", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    How far did the front move in 24 hours after April 22, 7am? Please show your calculations. Is the front to the North, South, or on top of Anchorage on April 23 at 7am:

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2219-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Testing your prediction with the Reveal", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Click Run again and then Reveal April 23, 7am. Where is the front? Was your prediction correct? Please describe.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2220-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "aspect_ratio_method": "DEFAULT", + "authored_state": "", + "click_to_play": false, + "click_to_play_prompt": null, + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "is_full_width": true, + "is_hidden": false, + "model_library_url": null, + "name": "Measuring the Movement of Fronts", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "show_in_featured_question_report": true, + "url": "https://models-resources.concord.org/precip-models/Models-2021/lesson6-2.v1.html", + "type": "MwInteractive", + "ref_id": "97812-MwInteractive", + "linked_interactives": [] + }, + "section": "interactive_box" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144841, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 5, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-7.json b/src/public/offline-activities/precipitating-change-v7/lesson-7.json new file mode 100644 index 00000000..cf513c5a --- /dev/null +++ b/src/public/offline-activities/precipitating-change-v7/lesson-7.json @@ -0,0 +1,771 @@ +{ + "description": "

    Analyzing Data and Making a Prediction: What will the weather be like 24 hours from now?

    ", + "editor_mode": 0, + "layout": 0, + "name": "Alaska 2021 - Lesson 7: Analyzing Data and Making a Prediction", + "notes": "", + "project_id": null, + "related": "", + "runtime": "Activity Player", + "show_submit_button": true, + "student_report_enabled": true, + "thumbnail_url": "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "time_to_complete": null, + "version": 1, + "theme_name": "Precipitating Change", + "pages": [ + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143696, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Real World Application", + "position": 1, + "show_header": true, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Watch this video featuring Jackie Purcell, a news station meteorologist at station KTUU in Anchorage, AK. She will discuss how to make predictions for upcoming weather patterns.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "148017-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"videoUrl\":\"https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Jackie80_Captioned.mp4\",\"poster\":\"https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png\"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": null, + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "34e1a2a39c058da8ff4ffe5a09ad14af337c4a01", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/video-player/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "This video player will not have the blue header bar above the interactive.\r\nIt does not save the students position in the video. \r\nIt will not show up in the teacher report.", + "enable_learner_state": false, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Video Player", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": false, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1769-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143612, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Opening", + "position": 2, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    You have been planning the Alaskan Native Youth Olympics (NYO Games) for April 23rd at 7:00 am. This event has been planned for months and the committee is expecting over 500 people to attend. One of your jobs on this committee is to watch the weather and determine if the event is safe to proceed as planned, or if it should be postponed or even canceled.

    \n

    It’s time to put your computational thinking skills to work!

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147923-Embeddable::Xhtml" + }, + "section": "header_block" + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143613, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Unit reflection", + "position": 3, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Throughout the Precipitating Change, you have been developing some computational thinking skills that real weather scientist use. Although we have not named the skill until now, notice in the table below the skills you have used to help decide if the NYO Games should proceed.

    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    Definition Computational Thinking Skill
    \r\n

    Organizing a large amount of information (data) into smaller more manageable parts.

    \r\n
    \r\n

    Decomposition

    \r\n

    In Lesson 1, you organized weather station data over a two-day period and radar maps of Alaska every 6 hours to make a prediction.

    \r\n
    \r\n

    Recognizing that data or information is repeating in a logical (expected) way.

    \r\n
    \r\n

    Pattern Recognition

    \r\n

    In Lesson 2, you ran the model to see temperature data and patterns of data moving across the map. Before and after each run of the model, you interpolated data. You discovered that warm and cold spots on the map are at times on certain sides, and also you saw these spots change location over time.

    \r\n

    In Lesson 3 and 4, you ran the models to develop a general statement to answer the question \"Where does it rain?\".

    \r\n
    \r\n

    Estimating an unknown value based on surrounding information.

    \r\n
    \"\"\r\n

    Interpolation

    \r\n

    In Lesson 2, you made best guess estimates of the temperatures that were missing on the map.

    \r\n
    \r\n

    Following a pattern beyond the known data points.

    \r\n
    \r\n

    Extrapolation

    \r\n

    In Lesson 2, you predicted future weather based on patterns you observed in the changing temperatures you collected and visualized.

    \r\n
    \r\n

    Collecting and organizing data to better understand the topic.

    \r\n
    \r\n

    Data Aggregation

    \r\n

    In Lesson 2, you observed temperature data from a model and organized the data to see the “big picture”.

    \r\n
    \r\n

    Simplifying data to make it easier to interpret and find patterns.

    \r\n
    \r\n

    Data Abstraction

    \r\n

    In Lesson 2, you came up with a color scheme for temperature and changed how the data was represented from numbers to temperature categories, and then to colors.

    \r\n
    \r\n

    Developing a statement of how things work based on the patterns you observed.

    \r\n
    \r\n

    Rule Abstraction

    \r\n

    In Lesson 3, you made a generic statement to answer the question, \"Where does it rain?\".

    \r\n
    \r\n

    Looking at the big picture by putting all the components together in the model to see if it works.

    \r\n
    \r\n

    Model Evaluation

    \r\n

    In Lesson 4 and 5, you ran a model to determine whether a rule was still true in different situations.

    \r\n
    \r\n

    Modifying a rule to be more precise (exact, careful about details) to work in the model.

    \r\n
    \r\n

    Rule Refinement

    \r\n

    In Lesson 4 and 5, as you ran the model, you were able to test your rule statements and make changes based on the model.

    \r\n
    \r\n

    Forecast based on evidence about a future event.

    \r\n
    \r\n

    Data-based Prediction

    \r\n

    In Lesson 6, you selected data including temperature, air moisture and wind direction to help form a forecast about a future event.

    \r\n
    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147924-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Which skill was the easiest to use? Please explain why.

    \\n

    a) Decomposition

    \\n

    b) Pattern Recognition

    \\n

    c) Interpolation

    \\n

    d) Extrapolation

    \\n

    e) Data Aggregation

    \\n

    f) Data Abstraction

    \\n

    g) Rule Abstraction

    \\n

    h) Model Evaluation

    \\n

    i) Rule Refinement

    \\n

    j) Data-based Prediction

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1895-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Which skill was the hardest to use? Please explain why?

    \\n

    a) Decomposition

    \\n

    b) Pattern Recognition

    \\n

    c) Interpolation

    \\n

    d) Extrapolation

    \\n

    e) Data Aggregation

    \\n

    f) Data Abstraction

    \\n

    g) Rule Abstraction

    \\n

    h) Model Evaluation

    \\n

    i) Rule Refinement

    \\n

    j) Data-based Prediction

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1896-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 143614, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "The First and Last Prediction", + "position": 4, + "show_header": false, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "content": "

    Your Initial Prediction

    \n

    At the beginning of the unit you made a weather prediction.

    ", + "is_callout": false, + "is_full_width": true, + "is_hidden": false, + "name": "", + "type": "Embeddable::Xhtml", + "ref_id": "147925-Embeddable::Xhtml" + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "Recalling Your First Prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    In Lesson 1, Page 5, you made a prediction for the weather in Anchorage at 7:00am on April 23. You may go back to Lesson 1 to check your first prediction and how confident you were about it. What was this prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1897-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "First Prediction Confidence", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"a6d209ef-958d-474c-a8db-e1b73b84fde7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"2ffa3691-0e65-48b2-8466-b8528d8de2b5\"}],\"prompt\":\"

    How confident were you of your first prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "1898-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "content": "

    It is time to make your official weather prediction. Think about what you have learned about temperature interpolation, air masses and wind direction, fronts and rain, and where the front will be on April 23rd at 7am.

    \r\n

    Use all of this knowledge to look at the weather data and make a new prediction for what the weather will be on April 23rd at 7am? You may look back to previous lessons to help you with your prediction.

    ", + "is_callout": true, + "is_full_width": true, + "is_hidden": false, + "name": "The Prediction for the NYO Games", + "type": "Embeddable::Xhtml", + "ref_id": "149353-Embeddable::Xhtml" + }, + "section": null + }, + { + "embeddable": { + "name": "Temperature in Anchorage", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What will the temperature be in Anchorage on April 23rd at 7am? Explain your reasoning. (Hint: you know the front is past Anchorage, so which air mass will Anchorage be in?)\\r

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2252-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Precipitation in Anchorage", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Will there be precipitation in Anchorage on April 23rd at 7am? Explain your reasoning. (Hint: Think about the relationship between the front and precipitation.)

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2313-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Wind Direction in Anchorage", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    What will be the wind direction in Anchorage on April 23rd at 7am? Explain your reasoning. (Hint: Think about which air mass Anchorage will be in at that time and which direction the wind is traveling in that air mass. Remember to say where the wind is coming from.)

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2314-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + }, + { + "embeddable": { + "name": "Confidence of Your Final Prediction", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"multiple_choice\",\"multipleAnswers\":false,\"layout\":\"vertical\",\"choices\":[{\"id\":\"1\",\"content\":\"0%\",\"correct\":false},{\"id\":\"2\",\"content\":\"25%\",\"correct\":false},{\"id\":\"3\",\"content\":\"50%\",\"correct\":false},{\"content\":\"75%\",\"correct\":false,\"id\":\"70710958-5145-4094-986d-0bb0a7820df7\"},{\"content\":\"100%\",\"correct\":false,\"id\":\"6af2d1f0-e02b-4dba-9e05-5c02357b0b53\"}],\"prompt\":\"

    How confident are you of your final prediction?

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "98f3d10aa7f2fce6bdeb0ecda339fa56dc80b37c", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Multiple Choice", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2315-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144656, + "is_completion": false, + "is_hidden": false, + "layout": "l-full-width", + "name": "Making a Presentation for the NYO Planning Committee", + "position": 5, + "show_header": true, + "show_info_assessment": true, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [ + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"iframe_interactive\",\"draggingAreaPrompt\":\"Drag following items:\",\"canvasWidth\":1200,\"canvasHeight\":800,\"initialState\":{\"itemPositions\":{\"a058923a-4542-4e84-951c-e2f36b2c8251\":{\"left\":442,\"top\":-28},\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\":{\"left\":266,\"top\":-43},\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\":{\"left\":740,\"top\":-31},\"4310bd82-1a68-412e-9b07-53073da246a1\":{\"left\":588,\"top\":-35},\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\":{\"left\":103,\"top\":-38},\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\":{\"left\":779,\"top\":71}}},\"draggableItems\":[{\"id\":\"9ed8abe0-e8d0-445e-a096-f08e3e00d802\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/clouds.png\"},{\"id\":\"c1839dfa-e5de-431b-b6cf-ba0f2c769ade\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/cloudsandsun.png\"},{\"id\":\"7551a26e-ba62-4809-8ea6-6521c3ba5eac\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/rain.png\"},{\"id\":\"4310bd82-1a68-412e-9b07-53073da246a1\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/snow.png\"},{\"id\":\"a058923a-4542-4e84-951c-e2f36b2c8251\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/sun.png\"},{\"id\":\"fdf5a484-bc9f-4edb-926a-1368647f8d7b\",\"imageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/lineforprediction.png\"}],\"backgroundImageUrl\":\"https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/Move_the_line.png\",\"prompt\":\"

    FINAL STEP!!! Show us what the weather will be on April 23rd at 7am!!!

    \\n

    Drag the icon that fits your prediction of the weather over Anchorage during the NYO games. Also drag the yellow line to show where the front is during the time of the games.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "a309b989c0cff0915fe71fcdf16dd116a6231c9b", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/drag-and-drop/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Drag and Drop", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": true, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2221-ManagedInteractive", + "linked_interactives": [] + }, + "section": "header_block" + }, + { + "embeddable": { + "name": "", + "url_fragment": null, + "authored_state": "{\"version\":1,\"questionType\":\"open_response\",\"prompt\":\"

    Did you decide to hold NYO or to cancel or postpone it due to bad weather preventing teams from flying into Anchorage? Explain your reasoning including the temperature, precipitation, and wind direction that you predict will happen in Anchorage.

    \"}", + "is_hidden": false, + "is_full_width": true, + "show_in_featured_question_report": true, + "inherit_aspect_ratio_method": true, + "custom_aspect_ratio_method": "DEFAULT", + "inherit_native_width": true, + "custom_native_width": 576, + "inherit_native_height": true, + "custom_native_height": 435, + "inherit_click_to_play": true, + "custom_click_to_play": false, + "inherit_full_window": true, + "custom_full_window": false, + "inherit_click_to_play_prompt": true, + "custom_click_to_play_prompt": null, + "inherit_image_url": true, + "custom_image_url": null, + "library_interactive": { + "hash": "512e0a0a74a0e1cd6247a8ec98fa94dabb8a6132", + "data": { + "aspect_ratio_method": "DEFAULT", + "authoring_guidance": "", + "base_url": "https://models-resources.concord.org/question-interactives/version/v1.2.0-pre.1/open-response/", + "click_to_play": false, + "click_to_play_prompt": null, + "description": "", + "enable_learner_state": true, + "full_window": false, + "has_report_url": false, + "image_url": null, + "name": "Open Response", + "native_height": 435, + "native_width": 576, + "no_snapshots": false, + "show_delete_data_button": false, + "thumbnail_url": "", + "customizable": true, + "authorable": true + } + }, + "type": "ManagedInteractive", + "ref_id": "2224-ManagedInteractive", + "linked_interactives": [] + }, + "section": null + } + ] + }, + { + "additional_sections": {}, + "embeddable_display_mode": "stacked", + "id": 144869, + "is_completion": true, + "is_hidden": false, + "layout": "l-6040", + "name": "Show My Work", + "position": 6, + "show_header": false, + "show_info_assessment": false, + "show_interactive": false, + "show_sidebar": false, + "sidebar": null, + "sidebar_title": "Did you know?", + "toggle_info_assessment": false, + "embeddables": [] + } + ], + "plugins": [ + { + "description": "", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "approved_script_label": "glossary", + "component_label": "glossary", + "approved_script": { + "name": "Glossary", + "url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "label": "glossary", + "description": "This plugin provides the glossary activity plugin", + "version": 3, + "json_url": "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "authoring_metadata": "{\"components\":[{\"label\":\"glossary\",\"name\":\"Activity\",\"scope\":\"activity\",\"guiAuthoring\":true}]}" + } + } + ], + "type": "LightweightActivity", + "export_site": "Lightweight Activities Runtime and Authoring" +} \ No newline at end of file diff --git a/src/public/offline-manifests/precipitating-change-v7.json b/src/public/offline-manifests/precipitating-change-v7.json new file mode 100644 index 00000000..4d8fe681 --- /dev/null +++ b/src/public/offline-manifests/precipitating-change-v7.json @@ -0,0 +1,303 @@ +{ + "name": "Alaska 2021 - Precipitating Change", + "activities": [ + { + "name": "Interview - Predicting the Weather Without the Weather Channel", + "contentUrl": "offline-activities/precipitating-change-v6/interview.json", + "resourceUrl": "https://authoring.concord.org/activities/11559" + }, + { + "name": "Lesson 1: Making an Initial Prediction", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-1.json", + "resourceUrl": "https://authoring.concord.org/activities/11501" + }, + { + "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-1-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11630" + }, + { + "name": "Lesson 2: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-2-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11565" + }, + { + "name": "Lesson 2: Displaying Temperature Data ", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-2.json", + "resourceUrl": "https://authoring.concord.org/activities/11526" + }, + { + "name": "Lesson 2: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-2-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11581" + }, + { + "name": " Lesson 3: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-3-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11583" + }, + { + "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-3.json", + "resourceUrl": "https://authoring.concord.org/activities/11582" + }, + { + "name": " Lesson 3: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-3-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11584" + }, + { + "name": "Lesson 4: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-4-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11586" + }, + { + "name": "Lesson 4: Building Rules", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-4.json", + "resourceUrl": "https://authoring.concord.org/activities/11585" + }, + { + "name": "Lesson 4: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-4-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11587" + }, + { + "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-5-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11593" + }, + { + "name": "Lesson 5: Identifying Air Masses", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-5.json", + "resourceUrl": "https://authoring.concord.org/activities/11588" + }, + { + "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-5-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11595" + }, + { + "name": "Lesson 6: Pre-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-6-pre.json", + "resourceUrl": "https://authoring.concord.org/activities/11590" + }, + { + "name": "Lesson 6: Modeling Fronts", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-6.json", + "resourceUrl": "https://authoring.concord.org/activities/11589" + }, + { + "name": "Lesson 6: Post-thoughts - What Do You Think?", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-6-post.json", + "resourceUrl": "https://authoring.concord.org/activities/11591" + }, + { + "name": "Lesson 7: Analyzing Data and Making a Prediction", + "contentUrl": "offline-activities/precipitating-change-v6/lesson-7.json", + "resourceUrl": "https://authoring.concord.org/activities/11592" + } + ], + "cacheList": [ + "https://fonts.googleapis.com/css?family=Lato", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2", + "https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2", + "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json", + "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson2.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson3.png", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson4.jpg", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", + "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", + "https://models-resources.concord.org/question-interactives/version/v0.6.1/image", + "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex4.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana2.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana4.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Delana6.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin3.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Kalin6.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_1pm.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL21_7pm.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_1am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L1AKRADARMAPAPRIL22_7am.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L2AssessmentQ.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/L3AssessmentProbeMap.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3AlexsChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3DelanasChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3KalinsChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SageAvatar.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson3SagesChoice.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4NWImage.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson4RuleRefinementABCquestionRVSD", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Lesson5_7pmInterpolatedRADARMAPcomparison.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/RuleStatement.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Sage1.png", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/TempMoisture.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindCompass.jpg", + "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/WindTunnels.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L1_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L2_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L3_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L4_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L5_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L6_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/Posters/Poster_L7_Video.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Netlogo_temp_model.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Alex_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Delana_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part1.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Parts/Sage_Part2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degree_numbers_for_map_Kalin.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Delana.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_compass_degrees_for_computer_model_Kalin.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_letters_for_computer_model_Alex.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_degrees.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Version2_wind_direction_with_letters.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_based_arrows.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Lesson_5_new_Embedded_assessment/Wind_direction_different_colors.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/SKy_MG_2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/Sky_MG.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/cloudwithlines.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/data_map_with_arrows.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/heart2.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_%207_amAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1_pmAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_1amAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7amnextday_Alaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Captioned_Videos/new_picts/radar_map_7pmAlaska_Mainland.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/DatabasedPrediction.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/ModelEvaluation.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/RuleAbstraction.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/RuleRefinement.png", + "https://project-resources.concord.org/precipitatingchange/Glossary/abstraction.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/aggregation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/air_moisture_fog-high.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/ct-decomposition.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/exptrapolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/interpolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/pattern-recognition.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/precipitation.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/weather.jpg", + "https://project-resources.concord.org/precipitatingchange/Glossary/wind-direction.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/decomposition/decomposition.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/exptrapolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/extrapolation/extrapolation.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/front/front.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/interpolation/interpolation.mp4", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction-sm.jpg", + "https://project-resources.concord.org/precipitatingchange/Kathy%27s%20latest/precipitating-change-visuals/prediction/prediction.mp4", + "https://project-resources.concord.org/precipitatingchange/Sage2.png", + "https://project-resources.concord.org/precipitatingchange/Sage4.png", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Alaska-Pilot-Final_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/Jackie80_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson1_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson2_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson3_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson4_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson5_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Captioned%20Videos-Optimized/JackieLesson6_88_Captioned.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Challenge%20Introduction%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Data%20Dump%20Prediction%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Intro%20Navigation%20Glossary%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson1-Optimized/Reading%20Weather%20Forecast.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Linear%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Nearest%20Neighbor%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Interpolation%20-%20Weighted%20Average.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Paint%20Colors%20Model.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson2-Optimized/Virtual%20Storm%20Intro%20Final2.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson3-Optimized/Intro%20and%20precipitation%20model%20demo%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Intro%20to%20Lesson%20-%20Rules.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson4-Optimized/Model%20Demo%20Task%20Explanation%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Direction%20Air%20Mass%20Front%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Front%20Direction%20Model%20Explanation.mp4", + "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Speed%20Front%20Model%20Explanation.mp4", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", + "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", + "https://project-resources.concord.org/precipitatingchange/images-2021/AK-maps-at-3-times.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/AirMassMap-Colored.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/Alaska%20Weather%20Stations_7am%20Interpolated-w-coordinates.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/Move_the_line.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/clouds.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/cloudsandsun.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/lineforprediction.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/poster_bush_pilot.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/rain.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/snow.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/PCL7images/sun.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/Temp-Moisture-Key.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/VirtualStorm-7pm-No-Rain-Shown.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-base-map-with-rose.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-3-unknowns2.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-8-unknowns2.png", + "https://project-resources.concord.org/precipitatingchange/images-2021/ak-map-all-temps-no-color.png", + "https://project-resources.concord.org/precipitatingchange/images/3-drop-black-staggered.png", + "https://project-resources.concord.org/precipitatingchange/images/AK-3-maps-interpolation.png", + "https://project-resources.concord.org/precipitatingchange/images/AKABCinterpolationtemp.jpg", + "https://project-resources.concord.org/precipitatingchange/images/AKweightedneigborinterpolation.jpg", + "https://project-resources.concord.org/precipitatingchange/images/Morning%20Image%20-%20Revised%20v2.png", + "https://project-resources.concord.org/precipitatingchange/images/linearinterpolation.jpg", + "https://project-resources.concord.org/precipitatingchange/videos/AbstractionMovie.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/Aggregation.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/PatternRecognition.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/WindDirection.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/moisture-amount.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/precipitation_snow_v2.mp4", + "https://project-resources.concord.org/precipitatingchange/videos/weather-movie.mp4", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/AK-base-map-wind-air-mass-adj.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-base-map-with-rose.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-w-cities-extended-for-color.png", + "https://s3.amazonaws.com/cc-project-resources/precipitatingchange/images-2021/ak-w-cities.png", + "models-resources/precip-models/Models-2021/Lesson2-1.html", + "models-resources/precip-models/Models-2021/Lesson2-2-colors-v3.html", + "models-resources/precip-models/Models-2021/Lesson2-3-time-slider-v1.html", + "models-resources/precip-models/Models-2021/Lesson2-3-time-slider-v1a.html", + "models-resources/precip-models/Models-2021/Lesson3-1.v1.html", + "models-resources/precip-models/Models-2021/Lesson5-air-masses.v4-new.html", + "models-resources/precip-models/Models-2021/Lesson6-1-v1.html", + "models-resources/precip-models/Models-2021/lesson5-sliders.html\r\n", + "models-resources/precip-models/Models-2021/lesson6-2.v1.html", + "models-resources/precip-models/ak-w-cities.png", + "models-resources/precip-models/precip-rule-ak-v5.html", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/carousel/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/drag-and-drop/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/fill-in-the-blank/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/image/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/multiple-choice/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/", + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/open-response/assets/index.4625e4716a2dfe8f0462.js", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.css", + "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.js" + ] +} diff --git a/src/scripts/update-offline-manifest.config.ts b/src/scripts/update-offline-manifest.config.ts index 45e744df..df998034 100644 --- a/src/scripts/update-offline-manifest.config.ts +++ b/src/scripts/update-offline-manifest.config.ts @@ -2,7 +2,7 @@ export const config = { glossary: { - s3Url: "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite", + s3Url: "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json", pluginUrl: "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/plugin.js", manifestUrl: "https://glossary-plugin.concord.org/version/v3.13.0-pre.3/manifest.json" }, From 117ec1e69d3997eba2a35514951d62c5e9ceef6b Mon Sep 17 00:00:00 2001 From: Scott Cytacki Date: Fri, 9 Apr 2021 21:13:08 -0400 Subject: [PATCH 242/242] new glossary with lang removed --- .../precipitating-change-v7/interview.json | 2 +- .../lesson-1-post.json | 2 +- .../precipitating-change-v7/lesson-1.json | 2 +- .../lesson-2-post.json | 2 +- .../precipitating-change-v7/lesson-2-pre.json | 2 +- .../precipitating-change-v7/lesson-2.json | 2 +- .../lesson-3-post.json | 2 +- .../precipitating-change-v7/lesson-3-pre.json | 2 +- .../precipitating-change-v7/lesson-3.json | 2 +- .../lesson-4-post.json | 2 +- .../precipitating-change-v7/lesson-4-pre.json | 2 +- .../precipitating-change-v7/lesson-4.json | 2 +- .../lesson-5-post.json | 2 +- .../precipitating-change-v7/lesson-5-pre.json | 2 +- .../precipitating-change-v7/lesson-5.json | 2 +- .../lesson-6-post.json | 2 +- .../precipitating-change-v7/lesson-6-pre.json | 2 +- .../precipitating-change-v7/lesson-6.json | 2 +- .../precipitating-change-v7/lesson-7.json | 2 +- .../precipitating-change-v7.json | 51 ++++++++----------- 20 files changed, 40 insertions(+), 49 deletions(-) diff --git a/src/public/offline-activities/precipitating-change-v7/interview.json b/src/public/offline-activities/precipitating-change-v7/interview.json index 20bf16ba..e841da39 100644 --- a/src/public/offline-activities/precipitating-change-v7/interview.json +++ b/src/public/offline-activities/precipitating-change-v7/interview.json @@ -424,7 +424,7 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-1-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-1-post.json index 557d0ba4..ae571fad 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-1-post.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-1-post.json @@ -220,7 +220,7 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-1.json b/src/public/offline-activities/precipitating-change-v7/lesson-1.json index 8edfca3b..f228ca52 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-1.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-1.json @@ -1232,7 +1232,7 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-2-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-2-post.json index 1deb6364..9dc3e3b4 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-2-post.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-2-post.json @@ -212,7 +212,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-2-pre.json b/src/public/offline-activities/precipitating-change-v7/lesson-2-pre.json index 20e5c4cf..8c9552b2 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-2-pre.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-2-pre.json @@ -212,7 +212,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-2.json b/src/public/offline-activities/precipitating-change-v7/lesson-2.json index 26091999..5c8bd59a 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-2.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-2.json @@ -2938,7 +2938,7 @@ "plugins": [ { "description": null, - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-3-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-3-post.json index a92dec3d..15b57d73 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-3-post.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-3-post.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-3-pre.json b/src/public/offline-activities/precipitating-change-v7/lesson-3-pre.json index 0f9ee105..69923311 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-3-pre.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-3-pre.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-3.json b/src/public/offline-activities/precipitating-change-v7/lesson-3.json index 7e1d6b5a..ab6f9a8c 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-3.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-3.json @@ -1000,7 +1000,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-4-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-4-post.json index 412b845b..e8078a76 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-4-post.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-4-post.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-4-pre.json b/src/public/offline-activities/precipitating-change-v7/lesson-4-pre.json index eb51ae53..6415b4e2 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-4-pre.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-4-pre.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-4.json b/src/public/offline-activities/precipitating-change-v7/lesson-4.json index 54ac01d3..fabecd33 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-4.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-4.json @@ -790,7 +790,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-5-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-5-post.json index 1856a354..006454ae 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-5-post.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-5-post.json @@ -212,7 +212,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-5-pre.json b/src/public/offline-activities/precipitating-change-v7/lesson-5-pre.json index d6435afa..e4ae8b93 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-5-pre.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-5-pre.json @@ -212,7 +212,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-5.json b/src/public/offline-activities/precipitating-change-v7/lesson-5.json index 5f31fffa..19b1c74a 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-5.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-5.json @@ -1434,7 +1434,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-6-post.json b/src/public/offline-activities/precipitating-change-v7/lesson-6-post.json index 98c7e5db..d9f50a7b 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-6-post.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-6-post.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-6-pre.json b/src/public/offline-activities/precipitating-change-v7/lesson-6-pre.json index fe72a3ba..862daf7d 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-6-pre.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-6-pre.json @@ -169,7 +169,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-6.json b/src/public/offline-activities/precipitating-change-v7/lesson-6.json index e29f5660..753ce05d 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-6.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-6.json @@ -671,7 +671,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-activities/precipitating-change-v7/lesson-7.json b/src/public/offline-activities/precipitating-change-v7/lesson-7.json index cf513c5a..234aa263 100644 --- a/src/public/offline-activities/precipitating-change-v7/lesson-7.json +++ b/src/public/offline-activities/precipitating-change-v7/lesson-7.json @@ -752,7 +752,7 @@ "plugins": [ { "description": "", - "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite\"}", + "author_data": "{\"version\":\"1.0\",\"glossaryResourceId\":\"upZ83jqTZAZuoQqRAfAb\",\"s3Url\":\"https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json\"}", "approved_script_label": "glossary", "component_label": "glossary", "approved_script": { diff --git a/src/public/offline-manifests/precipitating-change-v7.json b/src/public/offline-manifests/precipitating-change-v7.json index 4d8fe681..882777a0 100644 --- a/src/public/offline-manifests/precipitating-change-v7.json +++ b/src/public/offline-manifests/precipitating-change-v7.json @@ -3,97 +3,97 @@ "activities": [ { "name": "Interview - Predicting the Weather Without the Weather Channel", - "contentUrl": "offline-activities/precipitating-change-v6/interview.json", + "contentUrl": "offline-activities/precipitating-change-v7/interview.json", "resourceUrl": "https://authoring.concord.org/activities/11559" }, { "name": "Lesson 1: Making an Initial Prediction", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-1.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-1.json", "resourceUrl": "https://authoring.concord.org/activities/11501" }, { "name": "Lesson 1: Post-thoughts - Predicting the weather without the weather channel", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-1-post.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-1-post.json", "resourceUrl": "https://authoring.concord.org/activities/11630" }, { "name": "Lesson 2: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-2-pre.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-2-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11565" }, { "name": "Lesson 2: Displaying Temperature Data ", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-2.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-2.json", "resourceUrl": "https://authoring.concord.org/activities/11526" }, { "name": "Lesson 2: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-2-post.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-2-post.json", "resourceUrl": "https://authoring.concord.org/activities/11581" }, { "name": " Lesson 3: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-3-pre.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-3-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11583" }, { "name": "Lesson 3: Displaying Precipitation & Air Moisture Data", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-3.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-3.json", "resourceUrl": "https://authoring.concord.org/activities/11582" }, { "name": " Lesson 3: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-3-post.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-3-post.json", "resourceUrl": "https://authoring.concord.org/activities/11584" }, { "name": "Lesson 4: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-4-pre.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-4-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11586" }, { "name": "Lesson 4: Building Rules", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-4.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-4.json", "resourceUrl": "https://authoring.concord.org/activities/11585" }, { "name": "Lesson 4: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-4-post.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-4-post.json", "resourceUrl": "https://authoring.concord.org/activities/11587" }, { "name": "Lesson 5: Pre-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-5-pre.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-5-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11593" }, { "name": "Lesson 5: Identifying Air Masses", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-5.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-5.json", "resourceUrl": "https://authoring.concord.org/activities/11588" }, { "name": "Lesson 5: Post-thoughts - How should we represent wind direction?", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-5-post.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-5-post.json", "resourceUrl": "https://authoring.concord.org/activities/11595" }, { "name": "Lesson 6: Pre-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-6-pre.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-6-pre.json", "resourceUrl": "https://authoring.concord.org/activities/11590" }, { "name": "Lesson 6: Modeling Fronts", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-6.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-6.json", "resourceUrl": "https://authoring.concord.org/activities/11589" }, { "name": "Lesson 6: Post-thoughts - What Do You Think?", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-6-post.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-6-post.json", "resourceUrl": "https://authoring.concord.org/activities/11591" }, { "name": "Lesson 7: Analyzing Data and Making a Prediction", - "contentUrl": "offline-activities/precipitating-change-v6/lesson-7.json", + "contentUrl": "offline-activities/precipitating-change-v7/lesson-7.json", "resourceUrl": "https://authoring.concord.org/activities/11592" } ], @@ -110,7 +110,7 @@ "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson5.jpg?v2", "https://learn-resources.concord.org/images/stem-resources/icons/pc-lesson6.jpg", "https://models-resources.concord.org/question-interactives/version/v0.6.1/image", - "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v2.json?__noUrlRewrite", + "https://models-resources.s3.amazonaws.com/glossary-resources/custom-apo/alaska-v3.json", "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/Air%20Moisture.jpg", "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex%206.png", "https://project-resources.concord.org/precipitatingchange/2019_20_Curriculum_%20Documents/PrecipitatingChangeClassHandouts-AK/Alex1-1.png", @@ -224,15 +224,6 @@ "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson5-Optimized/Wind%20Table%20Final.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Front%20Direction%20Model%20Explanation.mp4", "https://project-resources.concord.org/precipitatingchange/Videos-2021/Lesson6-Optimized/Speed%20Front%20Model%20Explanation.mp4", - "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Doodzxantidhitriyh_An_East_Wind_is_starting_to_blow.mp3", - "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Ghoghoyyigidighoy-pattern.mp3", - "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Gitsanxitodo_The_weather_is_going_to_change.mp3", - "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Gonghoghoyyigidigh_I_am_going_to_use_this_pattern.mp3", - "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Ndadzchenh_Whats_next.mp3", - "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Tthetingndadzdixeta_What_is_it_doing_outside.mp3", - "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Vitotuq_between_middle.mp3", - "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Xidetriyh_it_is_windy.mp3", - "https://project-resources.concord.org/precipitatingchange/audio/Athabaskan/Xiyhtuxiyoth_It_snows_during_the_winter.mp3", "https://project-resources.concord.org/precipitatingchange/images-2021/AK-maps-at-3-times.png", "https://project-resources.concord.org/precipitatingchange/images-2021/AirMassMap-Colored.png", "https://project-resources.concord.org/precipitatingchange/images-2021/Alaska%20Weather%20Stations_7am%20Interpolated-w-coordinates.png", @@ -300,4 +291,4 @@ "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.css", "models-resources/question-interactives/version/v1.2.0-pre.1/video-player/assets/index.4625e4716a2dfe8f0462.js" ] -} +} \ No newline at end of file